当监听子元素时,事件冒泡会通过目标元素向上传递到父级,直到document
,如果子元素不确定或者动态生成,可以通过监听父元素来取代监听子元素。
**
简单的代码,但是有bug
ul.addEventListener('click',function(e){
if(e.target.tagName.toLowerCase() === 'li'){
console.log("li被点击了")
}
})
如果这个li里面有一个span,点击了span,这个时候就不会触发事件
有bug的事件委托展示连接
正确的思路
应该先获取并判断点击的元素是不是 li,如果不是,就找他的父节点,再进行比较,直到找到或者不是