1.事件绑定通用函数(包括事件代理)
function bindEvent(elem,type,selector,fn){
if(fn == null){
fn=selector;
selector=null;
}
elem.addEventListener(type,event=>{
const target = event.target;
if(selector){
if(target.matches(selector){
fn.call(target,event)
}
}
else{
fn.call(target,event)
}
})
}
2.事件冒泡:
当一个元素事件被触发,同样的事件会从事件目标开始会顺着dom结构树向父元素触发,直到最上级标签
3.事件代理:
e.preventDefault()阻止元素的默认事件触发比如a标签的跳转
事件委托就是利用事件冒泡,只指定一个事件处理程序管理某一类的所有事件(一般用在父级标签上)
标签:WebApi,10,target,标签,selector,面试,事件,event,fn From: https://www.cnblogs.com/qwqxyd/p/16736311.html