Javascript 如何为按钮添加EventListener以及可以放入按钮中的所有内容?

Javascript 如何为按钮添加EventListener以及可以放入按钮中的所有内容?,javascript,events,dom,Javascript,Events,Dom,JS事件有问题 <button class="TabsItem active"> <img src="images/type-icons/120.PNG" alt=""> </button> 不要设置currentButton=e.target,因为e.target将等于图像元素而不是按钮。currentButton将等于tabSwitch 试试这个 var-button=document.getElementById(“按钮”); 按钮。addEve

JS事件有问题

<button class="TabsItem active">
  <img src="images/type-icons/120.PNG" alt="">
</button>

不要设置currentButton=e.target,因为e.target将等于图像元素而不是按钮。currentButton将等于tabSwitch

试试这个

var-button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”),函数(事件){
警报(事件目标);
});

这里有一个非常简单的方法可以用CSS解决这个问题

如果确保按钮内没有指针事件,则按钮内的单击将始终针对按钮本身:

button * {pointer-events: none;}
发件人:

您的按钮是动态生成的吗?如果是这样,您将需要事件委派。另外,您是否可以共享您在中的现有JavaScript代码?:)请发布你的js代码。现在一切都是静态的。你能更新你的问题并包含相关的javascript吗。当针对
类时,它可以返回元素列表(NodeList对象),因此根据选择器的不同,您可以使用一些方法来添加事件侦听器。js有点混乱:),因为它依赖于自定义选项卡对象数组,其中包含tabswitch和TabContents数组:)@almazmusic打开浏览器控制台并检查错误。如果在这个函数之前的其他javascript中有错误,那么您会发现它不会运行。但我不明白如何补充这句话。
const currentButton=tabSwitch;如果((currentButton==tabSwitch))
这将永远是真的,我只想做一个最小的更改,让您看到问题所在。event.target不是按钮,而是图像元素。你可以取消那张支票。但它很好用。是的,我知道e.target不是一个按钮。我想我有办法了。
button * {pointer-events: none;}