最好是简单点,
3 回答
已采纳
![?](http://img1.sycdn.imooc.com/58a662f50001b90b01000100-100-100.jpg)
阳光暖暖的时光慢慢的
TA贡献3条经验 获得超2个赞
window.onload = function(){ var aDiv = document.getElementByTagName("div"); for(var i=0;i<aDiv.length;i++){ aDiv[i].index = i; aDiv[i].onclick = function(){ ... } } }
![?](http://img1.sycdn.imooc.com/5ae055c100018cf401280128-100-100.jpg)
标标哟
TA贡献3条经验 获得超0个赞
使用事件代理,比循环点击的效率好很多,也更规范。
为li添加点击事件如下:
<ul id="todo-app"> <li class="item">Walk the dog</li> <li class="item">Pay bills</li> <li class="item">Make dinner</li> <li class="item">Code for one hour</li> </ul>
第一种 使用循环:
document.addEventListener('DOMContentLoaded', function() { let app = document.getElementById('todo-app'); let items = app.getElementsByClassName('item'); // 给每个列表项添加事件监听器 for (let item of items) { item.addEventListener('click', function() { alert('you clicked on item: ' + item.innerHTML); }); } });
第二种 事件代理:
document.addEventListener('DOMContentLoaded', function() { let app = document.getElementById('todo-app'); // 给容器添加事件监听器 app.addEventListener('click', function(e) { if (e.target && e.target.nodeName === 'LI') { let item = e.target; alert('you clicked on item: ' + item.innerHTML); } }); });
添加回答
举报
0/150
提交
取消