事件委托
在为元素绑定事件的时候,我们通常一贯的做法去给对应的元素绑定相应的事件,然后通过触发该元素的事件而绑定相应的操作。
在一般情况来说,绑定事件的元素很少的时候,我们察觉不到什么问题。但当我们需要给成百个元素又或者不同的元素绑定不同的事件的时候,就会发现这样做不仅操作麻烦,维护管理也麻烦。
所以,我们便采用事件委托的方式来进行事件绑定。
事件委托的核心是通过触发父节点的事件,然后通过冒泡匹配相应的子节点做出相应的操作。
//首先获取父节点ul
var lists = document.getElementsByTagName("ul")[0];
//为父节点绑定事件
lists.onclick = function(e){
//兼容IE,事件为window.event
var e = e || window.event;
//兼容IE,e.srcElement
var target = e.target || e.srcElement;
if (target.nodeName.toLowerCase() == "li"){
//执行标签为li的节点操作
} else if (target.nodeName.toLowerCase() == "div"){
//执行标签为div的节点操作
}
}