javascript:使用代理绑定事件

	<ul id="box">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
	</ul>

普通情况下:通过循环绑定所有

    var li=document.getElementsByTagName("li");
    for(var i=0;i<li.length;i++){
        li[i].addEventListener("click",function(e){
            console.log(e.target.innerHTML);
        })
    }

使用代理:通过父层绑定,那就不用给每个子元素绑定了

var box=document.getElementById("box");
    box.addEventListener("click",function(e){
        console.log(e.target.innerHTML);
    });

注意:addEventListener 在IE不支持,需要使用attachEvent,事件名称,含“on”

var box=document.getElementById("box");
    box.attachEvent("onclick",function(e){
        alert(e.srcElement.innerHTML);
    });
原文地址:https://www.cnblogs.com/tinyphp/p/4845453.html