[英]How to use event delegation in Javascript?
elem.addEventListener('click',function(e){
if(e.target && e.target.matches("span#save-icon")){
var HEX = e.target.parentNode.innerHTML.split('span')[2].split('>')[2].split('<')[0];
save_to_my_space(HEX);
console.log(HEX);
}
});
这里elem
是一个有 8 个孩子的父 div,我在elem
所有子元素上使用委托事件。 每当我通过单击elem
事件的子级之一触发事件时,它会被多次触发,次数等于elem
的子级数。 如何解决这个问题?
使用event.stopPropagation()
将解决问题
elem.addEventListener('click',function(e){
if(e.target && e.target.matches("span#save-icon")){
e.stopPropagation()
var HEX = e.target.parentNode.innerHTML.split('span')[2].split('>')[2].split('<')[0];
save_to_my_space(HEX);
console.log(HEX);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.