我一直在寻找这个,但我没有找到答案。 我想知道哪个是Javascript更好的做法。添加一个只有在目标是所需目标时才能工作的事件监听器:
document.addEventListener('click', function(e){
if(e.target && e.target.classList.contains('foo')){
}
});
或创建引用所需元素的变量,如果存在,则添加事件侦听器
var a = document.querySelector('.foo');
if (a) {
a.addEventListener('click', function(){
})
}
感谢您的时间!!
答案 0 :(得分:1)
我总是选择第一个方法,因为它也会影响动态创建的元素。我也认为你不需要条件的第一部分。我的代码如下所示:
document.addEventListener('click', function(e){
if(e.target.id == "confirm-button"){
// do something
}
});