ie和dom事件流的區別


1.事件流的區別 

IE采用冒泡型事件 Netscape使用捕獲型事件 DOM使用先捕獲后冒泡型事件
示例:

復制代碼代碼如下:

<body>
<div>
<button>點擊這里</button>
</div>
</body>

冒泡型事件模型: button->div->body (IE事件流)

捕獲型事件模型: body->div->button (Netscape事件流)

DOM事件模型: body->div->button->button->div->body (先捕獲后冒泡)

2.事件偵聽函數的區別

IE使用:
[Object].attachEvent("name_of_event_handler", fnHandler); //綁定函數
[Object].detachEvent("name_of_event_handler", fnHandler); //移除綁定

DOM使用:
[Object].addEventListener("name_of_event", fnHandler, bCapture); //綁定函數
[Object].removeEventListener("name_of_event", fnHandler, bCapture); //移除綁定

bCapture參數用於設置事件綁定的階段,true為捕獲階段,false為冒泡階段。

標准DOM:
[Object].addEventListener("事件名稱",fnHandler,是否捕獲)
[Object].removeEventListener("事件名稱", fnHandler, 是否捕獲);
1.DOM使用先捕獲后冒泡型事件,true為在捕獲階段處理,false為在冒泡階段處理
2.事件名稱沒有on
3.this指向觸發該事件的對象

IE(低版本9以下):
[Object].attachEvent("事件名稱",fnHandler);
[Object].detachEvent("事件名稱", fnHandler);
1.IE采用冒泡型事件
2.事件名稱有on
3.this指向window

區別
1.執行順序不一樣、
2.參數不一樣
3.事件加不加on
4.this指向問題




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM