如何跟踪或调试所有可用的javascript事件

时间:2009-10-21 07:14:52

标签: javascript javascript-events

如何跟踪网页的所有javascript事件?

是否有可能跟踪所有事件,即使没有附加处理程序也是如此?

那里有没有工具可以做到这一点?

澄清:

例如:

对于文本输入,我可以为 onblur onchange 添加事件处理程序。

如果我(在浏览器中)更改了文本字段的值并保留它,则会执行两个事件处理程序。 现在我想知道我“错过了”哪些其他事件(如果附加了事件处理程序将会执行的事件)。

Clarification2:

我可以获取所有可能附加事件处理程序的事件的列表(在给定元素上)吗?

4 个答案:

答案 0 :(得分:61)

以下是Javascript事件列表:http://www.quirksmode.org/dom/events/index.html

答案 1 :(得分:29)

这是一个在浏览器控制台中记录所有可用事件的简单脚本:

var ev = '',
    out = [];
for (ev in window) {
    if (/^on/.test(ev)) { 
        out[out.length] = ev;
    }
}
console.log(out.join(', '));

当然,您只会获得当前正在使用的浏览器的事件。

答案 2 :(得分:15)

这是我最喜欢的参考资料,它的更新频率高于其他一些帖子:https://developer.mozilla.org/en-US/docs/Mozilla_event_reference?redirectlocale=en-US&redirectslug=DOM%2FDOM_event_reference

答案 3 :(得分:3)

您可以在IE8上的FF和Web Developer Tool或WebKit上的开发人员工具上使用FireBug性能分析工具

编辑:

但是好奇的是,对这些事件有什么看法?