Javascript单击侦听器,但不会在子元素上触发?

Javascript单击侦听器,但不会在子元素上触发?,javascript,Javascript,由于速度问题,我正试图改用普通的老Javascript,不再使用jQuery。我需要在某个东西上触发一个click事件,然后在main元素上切换一个类。以下是我所拥有的: document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) { event.target.classList.toggle("active"); }); 我遇到的问题是,我只希望主元素添加类,而不是子元素!当

由于速度问题,我正试图改用普通的老Javascript,不再使用jQuery。我需要在某个东西上触发一个click事件,然后在main元素上切换一个类。以下是我所拥有的:

document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) {
   event.target.classList.toggle("active");
});
我遇到的问题是,我只希望主元素添加类,而不是子元素!当前,如果我单击其中一个prices,将得到.active类,而我希望.wrapper下拉元素添加该类

我必须承认——我对jQuery变得非常懒惰,所以我可能错过了一些简单的东西

您应该使用该函数选择目标.wrapper下拉列表

Element.closest方法返回 当前元素或与 参数中给出的选择器。如果没有这样一个祖先,它 返回null

document.querySelector'.wrapper下拉列表'.addEventListenerclick,functionevent{ event.target.closest'.wrapper下拉列表'.classList.toggleactive; }; 价格来自 您应该使用该函数选择目标.wrapper下拉列表

Element.closest方法返回 当前元素或与 参数中给出的选择器。如果没有这样一个祖先,它 返回null

document.querySelector'.wrapper下拉列表'.addEventListenerclick,functionevent{ event.target.closest'.wrapper下拉列表'.classList.toggleactive; }; 价格来自 您希望.active类仅添加到.wrapper下拉列表中。您可以使用currentTarget,它将始终引用附加事件处理程序的元素

document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) {
   event.currentTarget.classList.toggle("active");
});
您希望.active类仅添加到.wrapper下拉列表中。您可以使用currentTarget,它将始终引用附加事件处理程序的元素

document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) {
   event.currentTarget.classList.toggle("active");
});
您可以使用此内部事件侦听器函数:

document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) {
 this.classList.toggle("active");
})

您可以使用此内部事件侦听器函数:

document.querySelector('.wrapper-dropdown').addEventListener("click", function(event) {
 this.classList.toggle("active");
})