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

Javascript 是否可以列出创建的所有自定义事件?,javascript,custom-events,Javascript,Custom Events,我知道可以将事件侦听器添加到我用Javascript创建的自定义事件中,如下所示: window.addEventListener("MyCustomEvent", myFunction, false); 但是…是否可以列出任何点上存在的所有自定义事件 无论事件是否存在,上面的一行都会添加一个事件侦听器,因此我无法指出该事件是否存在。这通常不是一个好主意,但如果您确实需要这样做,您可以像这样重写addEventListener函数来跟踪添加的事件: var events = {}; var o

我知道可以将事件侦听器添加到我用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;
}

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

不,这是不可能的。浏览器中的控制台应该能够列出它们,Chrome有等等,但它仅用于控制台,在脚本中无法列出添加的事件侦听器。谢谢adeneo。我实际上试图通过控制台进行调试,但在调试模式下上述命令似乎不起作用…让我进一步解释一下-我必须使用JQuery事件触发器来创建自定义事件,因为Android本机浏览器不支持通过Javascript创建它们。。。我不想使用JQuery CustomEvents,所以我一直在试图弄清楚JQuery本身是如何创建事件的,但是对JQuery代码的内省可能有点让人困惑。。!您好,Overv,感谢您的回复,虽然我可能没有我应该说的那么清楚-我上面的评论更好地解释了我的要求-我正在调试,以了解JQuery如何创建自定义事件,因此我可以使用该代码并在Javascript中实现它。