gpt4 book ai didi

javascript - onclick 事件仅适用于按钮,不适用于与按钮一起使用的字形

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:09 25 4
gpt4 key购买 nike

我已经使用 bootstrap 创建了带有字形图标的圆形按钮,我想更改按钮的颜色,包括字形图标颜色。但是当我点击 glyphicon 时,onlclick 事件仅适用于 glyphicon 而不是按钮。 http://embed.plnkr.co/E1dUnkW1tmOCWqYkRaG5/

function setColor(e) {
var target = e.target,
status = e.target.classList.contains('btn-success');

e.target.classList.add(status ? 'btn-default' : 'btn-success');
e.target.classList.remove(status ? 'btn-success' : 'btn-default');
}

我的 Bootstrap 按钮

<button onclick="setColor(event)" type="button" class="btn btn-circle btn-lg"><span class="glyphicon glyphicon-search" style="margin: 0 0px;"></span></button>

最佳答案

很好用,但是 Event.target是触发/调度事件的元素,而不是您将监听器附加到的元素。

您正在寻找Event.currentTarget :

Identifies the current target for the event, as the event traverses the DOM. It always refers to the element the event handler has been attached to as opposed to event.target which identifies the element on which the event occurred.

因此将您的代码更改为:

function setColor(e) {
var currentTarget = e.currentTarget,
status = e.currentTarget.classList.contains('btn-success');

e.currentTarget.classList.add(status ? 'btn-default' : 'btn-success');
e.currentTarget.classList.remove(status ? 'btn-success' : 'btn-default');
}

关于javascript - onclick 事件仅适用于按钮,不适用于与按钮一起使用的字形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com