Flash組件一直缺少偵測double click事件的功能,所以我很快地寫了這個DoubleClickDispatcher,主要比較跟Mouse click有關的事件,例如:click, change兩者之間時間差距來決定是否有double click。(支援Button, List, DataGrid等組件)
[範例][下載DoubleClickDispatcher.as]
為組件加入double click事件的功能:
DoubleClickDispatcher.addObject(組件名稱, "事件");
例如:
DoubleClickDispatcher.addObject(btn, "click");
DoubleClickDispatcher.addObject(list, "change");
這樣組件便多了一個發出double click事件的功能,接收方法跟其他組件事件相同:
listener = new Object();
listener.doubleClick = function(evt) {
trace "Doubleclick: "+evt.target;
};
btn.addEventListener("doubleClick", listener);
list.addEventListener("doubleClick", listener);
移除接收double click事件:
組件名稱.removeEventListener("doubleClick", 物件);
移除發出double click事件的功能:
DoubleClickDispatcher.removeObject(組件名稱, "事件");
例如:
btn.removeEventListener("doubleClick", listener);
DoubleClickDispatcher.removeObject(btn, "click"); |