求教对于原生js中的事件委托的解释,不太明白

我点击事件绑定在ul,想委托到li,然后通过e.target的tagName是否是LI来判断,问题就是li里面还包含有其他元素,例如我的li里有一张图,点击的时候它的e.target是img,所以事件不会执行,怎么样才能把事件准确委托到li上,img只是一个例子,或者li会有更复杂的结构,这时候应该怎么躲开li里面的子元素进行委托呢?我以前用的一个笨办法是,给li一个全覆盖的伪元素,但我觉得这样不太好
慕斯王
浏览 252回答 2
2回答

猛跑小猪

肯定要判断的。document.querySelector('ul').addEventListener('click',function(e){console.log(e)if(e.target.nodeName==='LI'){}elseif(e.target.nodeName==='IMG')})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript