运用闭包给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>

浙公网安备 33010602011771号