一尘不染

如何记录jQuery中某个元素触发的所有事件?

javascript

我希望看到用户与 输入字段 交互时触发的所有事件。包括以下内容:

  1. 点击它。
  2. 单击它。
  3. 跳入它。
  4. 远离它。
  5. Ctrl键盘上的+ CCtrl+ V
  6. 右键单击->粘贴。
  7. 右键单击->剪切。
  8. 右键单击->复制。
  9. 从另一个应用程序中拖放文本。
  10. 用Javascript修改它。
  11. 使用调试工具(如Firebug)对其进行修改。

我想使用显示它console.log。这在Javascript / jQuery中是否可行,如果可以,我该怎么做?


阅读 401

收藏
2020-05-01

共2个答案

一尘不染

$(element).on("click mousedown mouseup focus blur keydown change",function(e){
     console.log(e);
});

如果事件被触发,那将为您提供很多(但不是全部)信息……除了像这样手动编码之外,我想不出任何其他方式来做到这一点。

2020-05-01
一尘不染

我不知道为什么没人使用这个…(也许是因为这只是Webkit的事情)

打开控制台:

monitorEvents(document.body); // logs all events on the body

monitorEvents(document.body, 'mouse'); // logs mouse events on the body

monitorEvents(document.body.querySelectorAll('input')); // logs all events on inputs
2020-05-10