我知道可以将事件侦听器添加到我在 Javascript 中创建的自定义事件中,如下所示:
window.addEventListener("MyCustomEvent", myFunction, false);
但是......是否可以列出任何时候存在的所有自定义事件?
上面一行添加了一个事件监听器,不管事件是否存在,所以我无法指出事件是否存在。
我知道可以将事件侦听器添加到我在 Javascript 中创建的自定义事件中,如下所示:
window.addEventListener("MyCustomEvent", myFunction, false);
但是......是否可以列出任何时候存在的所有自定义事件?
上面一行添加了一个事件监听器,不管事件是否存在,所以我无法指出事件是否存在。
这通常是一个坏主意,但如果你真的需要这个,你可以重写这样的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;
}
请记住,这仅适用于在包含这段代码之后添加事件侦听器的代码。