Re: [問題] jquery attr onclick IE7 & 8
http://www.w3.org/TR/DOM-Level-2-Events/events.html
void addEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
第三個參數 useCapture,意思是…先來個圖比較好解釋
http://goo.gl/bamuu
click 某個 button實際發生的事是,
以 html→body→button→body→html 這樣的順序去觸發 click事件
capturing bubbling
從父往子叫 capturing,從子往父叫 bubbling,所以需要第三個參數指定順序
簡單的範例:http://jsfiddle.net/ndKcr/1/
點內層的 div看事件的觸發順序就知道差別了
==
然後,用ajax更新(append)的 dom元素不會觸發事件是因為…通常都會忘記重新綁事件。
jquery的解法:live就是把事件綁在 body上,
它強大的 selector會找到是誰該觸發什麼事件。
如果瞭解標準定義的事件模型,
就會覺得 live的事件都要跑到 body才觸發,在效能上會不會比較慢?
所以在 1.4之後多了 delegate可以讓你指定該綁在哪,而不是統一綁在 body上。
這樣的方式(live, delegate)也可解決直接把事件綁在 dom元素上,
移除 dom元素可能會造成某些 *破舊* 瀏覽器產生的 memory leak問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.10.63
→
01/30 04:44, , 1F
01/30 04:44, 1F
→
01/30 04:44, , 2F
01/30 04:44, 2F
→
01/30 21:50, , 3F
01/30 21:50, 3F
→
01/31 21:32, , 4F
01/31 21:32, 4F
→
02/01 07:34, , 5F
02/01 07:34, 5F
→
02/01 07:34, , 6F
02/01 07:34, 6F
討論串 (同標題文章)
完整討論串 (本文為第 6 之 7 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章
33
68