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