1.首先創(chuàng)建一個(gè)自定義事件對象
var event = document.createEvent("CustomEvent");
注意
關(guān)鍵字: ”customEvent”必須這么寫。
createEvent與createElement一樣,都是document對象的一個(gè)方法
2.然后初始化事件對象
event.initCustomEvent(“事件名稱”,是否冒泡,可否阻止默認(rèn)行為,其它數(shù)據(jù));
注意:
事件名稱:這是最關(guān)鍵的一個(gè)參數(shù)。與click,mouseDown,keyUp一樣,都是用來識別這個(gè)事件的。所以,要給它取個(gè)好名字。
3.派發(fā)事件對象
dom對象.dispatchEvent(event);
注意:
這一句是我們?nèi)藶榈?,主?dòng)地派發(fā)這個(gè)事件。對比一下系統(tǒng)的事件,如click事件。
你需不需要主動(dòng)去派發(fā)這個(gè)事件?我們不需要去處理系統(tǒng)提供的事件,一旦有click,則寫在click上的監(jiān)聽函數(shù)就會自動(dòng)執(zhí)行。它沒有派發(fā)這個(gè)動(dòng)作。
4.定義監(jiān)聽test事件的處理程序
dom對象.addEventListener(“事件名稱”, function(e){});
前三步才是創(chuàng)建并派發(fā)事件。最后一步是監(jiān)聽事件。
對于系統(tǒng)的事件(如click),它是不需要前三步的。只要監(jiān)聽就可以了。
eg: ? ? ? ??

監(jiān)聽事件: ?

模擬trigger函數(shù): ? ? ? ? ? ? ? ?
