事件代理(委托)
例:给100000个li添加点击事件,大量的循环会卡顿,性能不好
事件代理原理:把事件添加给父元素(事件冒泡,子元素能触发父元素的事件),当事件发生的时候,通过ev.target找到具体触发事件的子元素去处理事件
特点:提高性能,事件可以发生在未来
实现:
//将事件添加给父元素
oUl.onclick = function(ev){
var ev = window.event || ev;
//当事件发生的时候,可以通过target获取到具体触发事件的子元素
var target = ev.target || ev.srcElement;
//精确的判断 必须是li标签才可以
if(target.nodeName == "LI"){
target.style.background = "red";
}
}
oUl.innerHTML += "<li>11</li>";