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);
    });

 

posted @ 2015-09-29 08:55  tinyphp  Views(419)  Comments(0Edit  收藏  举报