function bindEvent(elem,type,selector,fn){
if(fn ==null){
fn = selector
selector = null
}
elem.addEventListener(type,e => {
let target
if(selector){
//需要代理
target = e.target
if(target.matches(selector)){
fn.call(target,e)
}else{
//不需要代理
fn(e)
}
}
})
}
前端面试问题:手写一个通用的事件绑定函数
最新推荐文章于 2024-07-11 17:17:41 发布