在javascript中查找捕获关键事件的函数?

时间:2011-07-12 16:37:03

标签: javascript javascript-events google-chrome-devtools keydown

我正在为复杂的网络应用编写用户脚本。现有代码正在捕获'j'和'k'keydown事件。

我希望能够找到这个功能,看看它在做什么。有没有办法列出文档中的所有关键事件处理程序?或者也许是一种在Chrome开发者工具中设置断点的方法,当我按下这封信时?

2 个答案:

答案 0 :(得分:5)

是的,在开发人员工具中,转到 Scripts 标签,选择页面,转到事件监听器断点键盘,< EM> KEYDOWN

enter image description here

虽然这可能不一定对您有所帮助,例如如果脚本缩小或使用库。但你可以尝试一下。

答案 1 :(得分:1)

如果您可以首先运行一段脚本,并且如果在文档级别处理密钥,则可以安装此拦截以查看代码的哪一部分正在设置键盘处理程序:

var oldListener = document.addEventListener;
document.addEventListener = function(type, listener, capture) {
    if (type == "keydown" || type == "keyup" || type == "keypress") {
        console.log("type=" + type + " listener=" + listener.toString().slice(0, 80));
    }
    return (oldListener.apply(this, arguments));
}