首页 > 代码库 > 事件委托
事件委托
优点:节省内存,减少事件注册;当新增子对象时无需再次对其绑定事件。
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
window.onload=function(){
var ul=document.getElementById("list");
ul.onclick=function(ev){
var ev=ev||window.event;
var target=ev.target||ev.srcElement; //取得事件目标对象
if(target==ul||target.tagName=="UL"){
return;
}
var aLi=ul.getElementsByTagName("li");
for(i=0;i<aLi.length;i++){
(function(index){
aLi[index].index=index;
})(i)
};
alert (target.index);
}
var btn=document.getElementById("btn");
btn.onclick= function () {
ul.appendChild(document.createElement("li"));
}
}
</script>
</head>
<body>
<ul id="list">
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<button id="btn">add</button>
</body>
</html>
事件委托
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。