闭包的应用:
var lis_lis = $("test").getElementsByTagName("li"); for (var i = 0, l = lis_lis.length; i < l; i++) { lis_lis[i].onclick = (function(x) { return function() { alert(x); } })(i); }
事件委托
<ul id="mylist">
<li id="li_1">sdsdsd</li>
<li id="li_2">sdsdsd</li>
<li id="li_3">sdsdsd</li>
</ul>
现在我们要为这3个li绑定事件处理程序..
只需要在ul绑定事件处理程序.
js代码:
obj.eventHandler($("mylist"),"click",function(e){
e = e || window.event;
switch(e.target.id){ //大家应该还记得target是事件目标,只要点击了事件的目标元素就会弹出相应的alert.
case "li_1":
alert("li_1");
break;
case "li_2":
alert("li_2");
break;
case "li_3":
alert("li_3");
break
}
})