为什么用事件委托?
可以监听还没有出生的儿子(动态生成的元素)。
省监听器。
function(element,eventype,selctor,fn){
element.addEventListener(eventType,(e)=>{
let el = e.target
while(!el.matches(selector)){//如果找到了selctor终止循环
if(element === el){//寻找selctor,若直道element还未找到break退出
el = null
break
}
el = el.parentNode
}
el&&fn.call(el,e,el) //将被点击的元素和监听的元素传入
})
return element
}
网友评论