我想添加一個事件監聽器到容器div內的子div。我正在解決如何正確執行此操作的問題。我到目前爲止的代碼在這裏:pastebin。聽衆(點擊)在線35如何爲此使用addEventListener?
回答
您在調用context
函數,而不是將其作爲偵聽器傳遞。我的意思是,這樣的:
divs[i].addEventLisenter('click', context(divs[i].id), true);
應該是:
divs[i].addEventLisenter('click', context, true);
這:
function context(id) {
console.log(id+' clicked');
}
應該是:
function context(evt) {
console.log(this.id + ' clicked');
}
啊,有趣...雖然我找到了不同的方式來做我想做的事。 (即將click事件添加到容器div,並獲取子div的event.target.id。 – 2012-04-28 03:08:23
@Charles,你在做什麼是非常有用的!如果你動態地向容器中添加新的子元素,點擊偵聽器也會爲他們工作(與上面的傳統方法不同),它被稱爲「事件代表團」。 – bfavaretto 2012-04-28 03:15:46
JavaScript被解釋,因此您應該將docINIT的定義移到使用它的上方。
不一定是真的 - 解釋與它無關。研究JavaScript變量的提升。該函數可以存在並可以在範圍內的任何地方定義。 – tkone 2012-04-28 02:35:02
tkone是正確的,我一直在幾個應用程序中使用docINIT的佈局方法,從來沒有問題。 – 2012-04-28 03:10:07
- 1. 如何使用addEventListener?
- 2. 如何使用addEventListener
- 3. addEventListener使用apply()
- 4. 的使用addEventListener()
- 5. addEventListener,for(),索引。如何使用閉包?
- 6. 如何在addEventListener中使用onMessage?
- 7. 如何使用javascript dom事件--- addEventListener
- 8. 如何在對象中使用addEventListener
- 9. 如何使用匿名函數removeEventListener作爲addEventListener?
- 10. 的addEventListener使用appendChild
- 11. 動態使用addEventListener?
- 12. 爲什麼不能使用addEventListener方法
- 13. 如何更新addEventListener?
- 14. 的addEventListener爲「本」
- 15. 如何使用此StackPanel作爲資源
- 16. 調用使用的addEventListener
- 17. 在addeventlistener函數中訪問此變量
- 18. 在addEventListener中爲false?
- 19. 在js中使用addEventListener()
- 20. 呼叫從使用addEventListener()
- 21. 在原型上使用addEventListener
- 22. 我應該使用addEventListener
- 23. 正確使用addEventListener()/ attachEvent()?
- 24. 在AddEventListener上使用.bind()「this」
- 25. addEventListener不使用其功能
- 26. 如何從addEventListener返回值
- 27. 如何正確添加addeventlistener?
- 28. 如何使用此功能
- 29. 如何使用此字體?
- 30. 如何使用此功能?
Lisenter?我想你的意思是聽衆 – 2012-04-28 02:07:38