运用闭包给HTML节点对象添加事件

给节点对象添加事件

html代码:

<body>
    <div>
        <ul>
            <li>0</li>
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>
    </div>
</body>

添加事件方法1:

var add_mouse_events = function(nodes){
    var i;
    for(i=0;i<nodes.length;i+=1){
        nodes[i].onclick = function(i){
            return function(){
                alert(i);
            }
        }(i)
    }
}
var nodeList = document.getElementsByTagName("li");
add_mouse_events(nodeList);

添加事件方法2:

var add_mouse_events = function(nodes){
    var i;
    for(i=0;i<nodes.length;i+=1){
            (function(i){
                nodes[i].onclick = function(){
                    alert(i);
                }
            })(i)
        }
    }
var nodeList = document.getElementsByTagName("li");
add_mouse_events(nodeList);

添加事件方法3,直接在html上绑定事件,这个比较少用了:

 <li onlick="func(this)">0</li>

 

posted @ 2013-05-08 16:41  人 在 旅 途  Views(240)  Comments(0)    收藏  举报