js 点击 div 里面的元素
js click element where inside in a div
我有一个滑块,想停止它。现在我这样做:如果类名 === 'slider' 然后停止。
但我和 e.target.classList 一起工作。因此,如果我单击 Slider,就会得到类名 'e-target-another-class'。但我希望在名称为滑块的 div 中单击然后停止。我希望你理解我的
<div class="slider">
<div class="e-target-new-class">
<div class="e-target-anohter-class">
slider
</div>
</div>
将事件侦听器附加到所需的 .slider
元素。
“不要”使用Event.target(除非你真的知道自己在做什么)- 使用Event.currentTarget代替.
在您的情况下,currentTarget 将始终是所需的 .slider
包装器元素
function stopSlider(ev) {
const delegator = ev.currentTarget; // This is what you want!
const target = ev.target;
console.clear(); console.log(`DELEGATOR: ${[...delegator.classList]}
TARGET: ${[...target.classList]}`);
}
const ELS_slider = document.querySelectorAll(".slider");
ELS_slider.forEach(EL => EL.addEventListener("click", stopSlider));
[class^=slider] {outline: 1px solid #000; padding: 10px;}
<div class="slider">
SLIDER
<div class="slider-slides">
ALL SLIDES
<div class="slider-slide">
SINGLE SLIDE
</div>
</div>
</div>
我有一个滑块,想停止它。现在我这样做:如果类名 === 'slider' 然后停止。
但我和 e.target.classList 一起工作。因此,如果我单击 Slider,就会得到类名 'e-target-another-class'。但我希望在名称为滑块的 div 中单击然后停止。我希望你理解我的
<div class="slider">
<div class="e-target-new-class">
<div class="e-target-anohter-class">
slider
</div>
</div>
将事件侦听器附加到所需的 .slider
元素。
“不要”使用Event.target(除非你真的知道自己在做什么)- 使用Event.currentTarget代替.
在您的情况下,currentTarget 将始终是所需的 .slider
包装器元素
function stopSlider(ev) {
const delegator = ev.currentTarget; // This is what you want!
const target = ev.target;
console.clear(); console.log(`DELEGATOR: ${[...delegator.classList]}
TARGET: ${[...target.classList]}`);
}
const ELS_slider = document.querySelectorAll(".slider");
ELS_slider.forEach(EL => EL.addEventListener("click", stopSlider));
[class^=slider] {outline: 1px solid #000; padding: 10px;}
<div class="slider">
SLIDER
<div class="slider-slides">
ALL SLIDES
<div class="slider-slide">
SINGLE SLIDE
</div>
</div>
</div>