自定義事件的觸發dispatchEvent

2021-09-26 20:14:30 字數 1927 閱讀 5130

參考:

二、自定義事件的刪除

1、event

自定義事件的函式有eventcustomeventdispatchevent

// 向 window派發乙個resize內建事件

window.

dispatchevent

(new

event

('resize'))

// 直接自定義事件,使用 event 建構函式:

var event =

newevent

('build');

var elem = document.

queryselector

('#id'

)// 監聽事件

elem.

addeventlistener

('build'

,function

(e),

false);

// 觸發事件.

elem.

dispatchevent

(event)

;

2、customevent

customevent可以建立乙個更高度自定義事件,還可以附帶一些資料,具體用法如下:

var myevent =

newcustomevent

(eventname, options)

;其中 options 可以是:

, bubbles:

true

,//是否冒泡

cancelable:

false

//是否取消預設事件

}

其中detail這個key 是固定的) 可以存放一些初始化的資訊,可以在觸發的時候呼叫。其他屬性就是定義該事件是否具有冒泡等等功能。

內建的事件會由瀏覽器根據某些操作進行觸發,自定義的事件就需要人工觸發。

dispatchevent 函式就是用來觸發某個事件:

element.

dispatchevent

(customevent)

;

上面**表示,在element上面觸發customevent這個事件。

結合起來用就是:

var obj = document.

getelementbyid

('obj');

obj.

addeventlistener

("cat"

,function

(e))

;// create and dispatch the event

var event =

newcustomevent

("cat",}

);obj.

dispatchevent

(event)

;

與觸發事件不同,事件刪除,各個瀏覽器都提供了對應的事件刪除方法,如removeeventlistenerdetachevent

不過呢,對於ie瀏覽器,還要多刪除乙個事件,就是為了實現觸發功能額外增加的onpropertychange事件:

dom.

detachevent

("onpropertychange"

, evt)

;var

fireevent

=function

(element,event)

else

};

wxWidgets 自定義事件觸發

其步驟如下 define id refresh task list 9000 定義事件id wxdefine event evt refresh task list,wxcommandevent 定義事件處理巨集 evt command id refresh task list,evt refres...

jQuery 新增自定義事件以及觸發自定義事件

一 新增自定義事件 通過jquery的bind 或者on 方法 新增自定義事件 如下 自定義了乙個mychange事件 postionid on mychange function 二 觸發自定義事件 通過jquery的trigger 方法 觸發自定義事件mychange postionid tri...

自定義事件

public event eventhandleropenprogress private void onopenprogress progresseventargs e if openprogress null openprogress this,e public class progressev...