在Chrome中跟踪事件传播的最佳方法是什么?

时间:2016-02-18 21:44:57

标签: javascript jquery google-chrome events

假设某个应用程序有一个包含消息的聊天模块。在所述聊天模块上有一个jQuery点击处理程序,它会在检测到点击时触发一系列与焦点相关的事件。

现在假设当点击聊天模块中的某些消息时,事件永远不会起泡,并且聊天模块上永远不会激活点击事件。

我该如何解决此类问题?我有一个理论,在应用程序的某处,消息点击处理程序和聊天模块点击处理程序之间的中间元素,它捕获事件并在其上调用e.stopPropagation。 Chrome目前没有工具来跟踪事件传播。

在Chrome中跟踪事件传播的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

使用包含jQuery.Event.prototype.stopPropagation语句的函数覆盖debugger

jQuery.Event.prototype.stopPropagation = function() {
  debugger;
};

从那里执行将触发stopPropagation事件的用户操作;但是这次debugger语句将导致JavaScript暂停执行,您可以观察堆栈跟踪以查看它的调用位置。

答案 1 :(得分:0)

随处可见各种各样的控制台日志。这不是最优雅的解决方案,但它让我可以看到哪些信息通过,以及任何和所有打嗝都在哪里。

console.log(var);

答案 2 :(得分:0)

我可能会建议您打开Chrome控制台(F12)转到元素,选择您感兴趣的元素,然后用鼠标右键单击设置子树修改。

enter image description here

相关问题