參考:
二、自定義事件的刪除
1、event
自定義事件的函式有event
、customevent
和dispatchevent
// 向 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)
;
與觸發事件不同,事件刪除,各個瀏覽器都提供了對應的事件刪除方法,如removeeventlistener
和detachevent
。
不過呢,對於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...