201510091346_《JavaScript的事件模型——createEvent、initEvent、dispatchEvent》


1. 存在三種事件模型:原始事件模型(所有瀏覽器都支持)、dom2(除ie外的瀏覽器都支持)事件模型、IE事件模型、Netscape事件模型。

-----------------------------------------------------------------------------------------------------------------------------------------------

2.詳細模型

(1)原始事件模型

    分為:語義事件onclick和輸入事件onsubmit

-------------------------------------------------------------------------

(2)dom2事件模型

 一般分為三步:1)先由document向目標對象傳播稱之為:捕捉階段;2)目標對象的事件處理程序運行,3)從目標對象向document起泡。Event.stopPropagation()可以停止                            傳播,preventDefault可以阻止事件的默認動作

                          addEventListener("eventType","handler","true!false"); //true, 在捕捉的階段調用;false,在后兩個階段調用;

                          removeEventListner("eventType","handler","true!false");

        事件合成             

      1)創建合適的事件對象:

var e=document.createEvent("HTMLEvents");

      2)初始化事件對象域(即:屬性)

e.initEvent("click","true","true");

      3)分派事件對象:

eventTarget.dispatchEvent();
-------------------------------------------------------------------------                         

 (3)IE事件模型                     

            IE事件對象也有,但只是window的一個屬性;目標元素的處理函數——〉document,只能捕獲鼠標事件;事件處理函數的添加和刪除通過:attachEvent(                                 "eventType","handler") and detachEvent("eventType","handler" );

 

      indow.ecent.cancelBubble=true;

 

               事件注冊函數:attachEvent()和反注冊:detachEvent().

-------------------------------------------------------------------------

(4)Netscape事件模型

 

-----------------------------------------------------------------------------------------------------------------------------------------------

3. 


免責聲明!

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



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