2014-05-11 53 views
3

單擊某個HTML元素時會執行某些操作。我無法找到哪條線添加該點擊事件。有什麼工具可以幫助嗎?如何找到哪一行添加了某個js事件處理程序?

Chrome開發工具>元素>(選擇該元素,請參閱右側面板)>事件監聽器>點擊,它列出了一些帶有行號的js文件,但它們是js插件。我需要的是哪一行決定使用這些插件的元素。

我也試圖尋找.click(但1)有與點擊事件2)有問題的線路,可以用其他的語法,如分配太多其他元素:.on('click'

+0

http://stackoverflow.com/questions/10050465/set-a-javascript-breakpoint-in-code-in-chrome/23459325#23459325 – martynas

+0

我不是當然,如果我正確理解這一點。你是否想將調試器行添加到現有的點擊事件中?但問題是如何找到現有的點擊事件線。 –

+0

不,我可以找到DOM節點,但js中添加了哪個事件處理程序? –

回答

1

覆蓋的事件目標的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

相關問題