如何找到哪一行添加某个js事件处理程序?

时间:2014-05-11 06:47:31

标签: javascript jquery

单击时某个HTML元素可以执行某些操作。我找不到哪一行添加了click事件。有什么工具可以帮忙吗?

Chrome开发工具>元素> (选择该元素,参见右侧面板)>事件听众>单击,它列出了一些带行号的js文件,但它们是js插件。我需要的是哪一行决定使用这些插件的元素。

我也试图搜索.click(但是1)有太多其他元素分配了点击事件2)有问题的行可能用其他语法编写,例如:.on('click'

1 个答案:

答案 0 :(得分:1)

像这样覆盖EventTarget addEventListener原型,然后向console.log添加断点并使用chrome dev控制台,您将能够看到堆栈跟踪并找出它的添加位置。

确定在找到源

后禁用它

在添加任何事件之前添加此内容。

EventTarget.prototype.addEventListener = function(type,listener,useCapture) {
if (this.id === 'id of the element you are tracking')
    console.log('breakpoint!');
};

样品用法: enter image description here