是否可以列出创建的所有自定义事件?

时间:2014-07-31 15:49:49

标签: javascript custom-events

我知道可以将事件监听器添加到我在Javascript中创建的自定义事件中,如下所示:

window.addEventListener("MyCustomEvent", myFunction, false);

但是......是否可以列出任何时候存在的所有自定义事件?

无论事件是否存在,上面的行都会添加一个事件监听器,因此我无法指出事件是否存在。

1 个答案:

答案 0 :(得分:7)

这通常是一个坏主意,但如果你真的需要这个,你可以覆盖这样的addEventListener函数来跟踪添加的事件:

var events = {};
var original = window.addEventListener;

window.addEventListener = function(type, listener, useCapture) {
    events[type] = true;
    return original(type, listener, useCapture);
};

function hasEventBeenAdded(type) {
    return type in events;
}

请记住,这仅适用于在包含此代码后添加事件侦听器的代码。

相关问题