任何人都可以用簡單的術語解釋IE和DOM標準事件模型之間的區別嗎?IE和DOM標準模型
回答
他們主要是做同樣的事情*,但你只需要確定哪一個瀏覽器使用你的客戶端使用哪一個。 Dustin Diaz創造了這個命名空間可以輕鬆地確定要使用的事件模型:
var Event = {
add: function() {
if (window.addEventListener) {
return function(el, type, fn) {
DOM.$(el).addEventListener(type, fn, false);
};
} else if (window.attachEvent) {
return function(el, type, fn) {
var f = function() {
fn.call(DOM.$(el), window.event);
};
DOM.$(el).attachEvent('on' + type, f);
};
}
}()
};
* - 我說「大多是」同樣的事情,因爲你會發現,DOM addEventListenter
需要一個額外的參數,在年底,這表明是否使用事件捕獲(true
)或冒泡(false)。事件從DOM樹中的根元素或DOM樹中的源元素開始,因此此標誌確定event.stopPropagation
函數的功能。 捕獲意味着該元素可以調用event.stopPropagation
來停止事件傳播到其子元素。 Bubbling意味着瀏覽器可以調用event.stopPropagation
來停止事件傳播到其父元素。
你的'Event.remove'實現在IE中不起作用。讓它工作並不是微不足道的,我懷疑這就是爲什麼達斯汀首先將它從實施中解放出來的原因。 – 2010-09-09 21:00:54
@Crescent Fresh:是的,我只是複製並粘貼了代碼。我刪除了有問題的部分,並留下了有助於解釋的部分。 – palswim 2010-09-09 21:14:32
您對addEventListener的第三個參數的解釋是不正確的:您似乎暗示它控制着事件是否會從其原始目標傳播,而實際上它對事件是否傳播沒有影響,只是它是如何實現的:將其設置爲「true」意味着事件從文檔根開始直到樹到達目標;當「錯誤」時,它會做相反的事情,即從事件的目標開始並將樹進行(冒泡)到文檔根目錄。 http://www.w3.org/TR/DOM-Level-2-Events/events。html#Events-flow-capture – 2010-09-09 23:18:43
您的代碼不符合DOM事件2:dom事件從具有「捕獲階段」的文檔元素開始,向下到目標,然後向上冒泡到文檔元素。在IE中實現它是相當困難的。
實施例:
<body> <div id="div1"><div id=div2></div></div></body>
如果 「點擊」 DIV2事件觸發時,事件監聽器作爲運行:
- 文檔(階段1)
- 體(相1)
- DIV1(階段1)
- div2(階段2)
- div1(ph ASE 3)
- 體(第3階段)
- 文件(第3階段)
在你的代碼假設所有的聽衆都在泡沫階段,但是這是不是一個好主意,因爲如「焦點「事件沒有泡沫階段,並且不能與代碼一起正確運行。
- 1. IE標準模式
- 2. 網站分析和IE標準模式
- 3. Hibernate標準和元模型
- 4. 哪些版本的IE使用標準事件模型?
- 5. IE檢測標準模式(不兼容)
- 6. 錯誤在IE 8標準模式
- 7. 標準權利模型
- 8. 盒子模型和IE
- 9. DOM模型中html的標籤
- 10. 標準偏差和模式
- 11. IE改變怪異模式爲標準模式通過javascript
- 12. 如何使IE 9標準模式成爲默認模式?
- 13. FBJS和Dom準備好
- 14. 怪癖模式和標準模式
- 15. 獲取和使用DOM模型
- 16. Phalcon DB模型中的ORM標準
- 17. Modelica標準模型庫組件AbruptAdaptor
- 18. IE中的DOM Dom解析
- 19. 在模型空間中定位模型的標準是什麼?
- 20. 如果我強制IE 8的開發工具是「瀏覽器模式:IE 8」和「文檔模式:IE 7標準」,現在是IE 7還是IE 8?
- 21. 標準庫和標準模板庫有什麼區別?
- 22. 具有p值和標準誤差的vecm模型的代碼
- 23. 什麼是金融行業 - 標準,協議和數據模型?
- 24. MPI標準和Map-Reduce編程模型之間的比較?
- 25. 請使用標準DOM操作
- 26. node.js像標準一樣檢查dom javascript
- 27. Javascript DOM鼠標事件不適用於IE和Mozilla
- 28. 在標準模式下強制IE瀏覽器
- 29. document.activeElement在iframe中示出了在標準IE模式
- 30. 在Quirks模式IE鏈接顏色VS標準
DOM是這個標準化的事件模型*在理論上*,然後是IE,一個醜陋的古代邪惡的惡魔,**不會死亡**,或者你的意思是事件聽衆如何不同? – 2010-09-09 19:41:08
維基百科上有一個很好的討論:http://en.wikipedia.org/wiki/DOM_events。當然,它是維基百科,所以拿一塊鹽。 – 2010-09-09 20:42:48