前段時間我正在玩JavaScript,並且激怒了我,我無法創建自己的事件。是否有內置的方式來自然地在JavaScript中創建自定義事件?
我見過使用這種內建的框架(jQuery,MooTools,Prototype。Dojo並不奇怪,因爲它看起來像做一切和你的洗衣),而且我實際上構建了自己的系統來創建和激發自定義事件。
它只是覺得應該有一個本地的方式來做到這一點。有誰知道如何做到這一點/如果你甚至可以?
前段時間我正在玩JavaScript,並且激怒了我,我無法創建自己的事件。是否有內置的方式來自然地在JavaScript中創建自定義事件?
我見過使用這種內建的框架(jQuery,MooTools,Prototype。Dojo並不奇怪,因爲它看起來像做一切和你的洗衣),而且我實際上構建了自己的系統來創建和激發自定義事件。
它只是覺得應該有一個本地的方式來做到這一點。有誰知道如何做到這一點/如果你甚至可以?
var dragEvent = document.createEvent("Event");
dragEvent.initEvent("dragged", true, true);
el.dispatchEvent(dragEvent);
有關官方規格,請參閱DOM Level 2 Events。在MDC處也參見createEvent()
,initEvent()
/initMouseEvent()
/initUIEvent()
和dispatchEvent()
。
我使用這種技術來創建自定義拖動和調整大小事件在this sample page通信。
大多數圖書館不會將自定義事件綁定到真實事件系統。他們改爲使用簡單的發佈/訂閱系統,如[Backbone.Events](http://documentcloud.github.com/backbone/docs/backbone.html#section-9)。這可能值得一看。 – Raynos 2011-04-30 14:03:14
這就是我做我的。我還沒有研究過其他人如何做。 – Kayla 2011-04-30 19:14:37
**更新:**現在完成:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events – Costa 2014-06-22 07:42:11