封装Js事件代理方法
Posted 追梦子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装Js事件代理方法相关的知识,希望对你有一定的参考价值。
// 封装事件代理
function delegateEvent(element, tag, event, listener) {
// 判断是否支持addEventlistener
if(element.addEventListener){
// 给父元素添加事件
element.addEventListener(event,function(e){
// 获取当前触发的元素
var target = e.target;
// 判断当前元素是否是我需要的
if(target.nodeName.toLowerCase()===tag){
listener(target);
}
})
}else{
// 兼容IE
element.attachEvent("on"+event,function(){
var target = window.event.srcElement;
if(target.nodeName.toLowerCase()===tag){
listener(target);
}
})
}
}
var ul = document.getElementById("ul");
delegateEvent(ul,"li","mouseover",function(target){
target.style.backgroundColor = "red";
})
以上是关于封装Js事件代理方法的主要内容,如果未能解决你的问题,请参考以下文章