【问题标题】:Finding function catching key event in Javascript?在 Javascript 中查找捕获关键事件的函数?
【发布时间】:2020-12-21 15:45:55
【问题描述】:

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

我希望能够找到这个函数来看看它在做什么。有没有办法列出文档中的所有关键事件处理程序?或者也许是一种在 Chrome 开发人员工具中以某种方式设置断点的方法,以便在我按下字母时?

【问题讨论】:

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


    【解决方案1】:

    是的,在开发者工具中,进入 Scripts 选项卡,选择页面,进入 Event Listener BreakpointsKeyboard,keydown.

    虽然这不一定对你有很大帮助,例如如果脚本被缩小或者他们使用库。不过你可以试一试。

    【讨论】:

    • 是的,你是对的。对这种废话进行逆向工程是不可能的:)
    【解决方案2】:

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

    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));
    }
    

    【讨论】:

      猜你喜欢
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多