// 封装事件代理
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"; })
时间: 2024-10-10 16:25:14