亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js 怎么給多個div循環添加點擊事件

js 怎么給多個div循環添加點擊事件

慕村1106498 2017-06-19 13:43:28
最好是簡單點,
查看完整描述

3 回答

已采納
?
陽光暖暖的時光慢慢的

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(){
????????????...
????????}
????}
}


查看完整回答
反對 回復 2017-06-29
?
標標喲

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


查看完整回答
反對 回復 2017-06-30
?
李曉健

TA貢獻1036條經驗 獲得超461個贊

去查一下事件代理相關的知識。

查看完整回答
反對 回復 2017-06-19
  • 3 回答
  • 0 關注
  • 8136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號