原生js 事件的委托

<!DOCTYPE html>
<html>
<head>
	<title>原生js事件委托</title>
	<meta charset="utf-8" />
</head>
<body>
	<ul>
		<li>我是原来的</li>
		<li>我是原来的</li>
		<li>我是原来的</li>
		<li>我是原来的</li>
	</ul>
	<button id="btn">添加一个li</button>
</body>
</html>
<script type="text/javascript">
	var ul=document.getElementsByTagName('ul')[0];
	var btn=document.getElementById('btn');
	ul.addEventListener("click",function(e){
		var evt=e||window.event;
		var target=evt.target;
		if(target&&target.nodeName=="LI"){
			target.innerHTML="我被点击了!"
		}
	},0)
	btn.onclick=function(){
		var li=document.createElement("li");
		li.innerHTML="我是新来的";
		ul.insertBefore(li,ul.firstChild)
	}

</script>

  好处是新添加的元素也会拥有委托的方法

posted @ 2016-06-25 15:15  穆克拉的大表哥  阅读(1079)  评论(0编辑  收藏  举报