5

使用Chrome的開發人員工具我試圖確定什麼jQuery函數掛鉤頁面上的輸入按鈕用於調試目的。我通常只是繼續尋找,直到找到它,但我想我會問這一次。jQuery和Chrome - 查找按鈕掛鉤

有沒有辦法在Chrome中找到特定按鈕的jQuery按鈕掛鉤?我已經嘗試通過事件監聽器斷點來查看,但似乎找不到正確的事情來暫停它。

基本上,我需要知道按鈕被點擊後,jQuery/javascript正在執行什麼。

的鉤子在應用程序中實現像這樣:

$('.button_class').click(function(){ 
$('#button_id').click(function(){ 
etc... 
+1

的[檢查的元素可能重複調查jQuery事件綁定](http://stackoverflow.com/questions/3960709/inspect-an-element-to-investigate-jquery-event-bindings) – 2012-06-11 08:52:21

回答

1

根據事件/計時器的頁面,這並不總是有效的數量。但是,您可以嘗試在「JavaScript調試」窗口中單擊要調試的按鈕之前「暫停」。這樣調試器將在執行的下一個行上暫停。偶爾會阻止你使用它的事情是,如果有一個「懸停」事件綁定在一個元素上,你必須通過該元素才能到達按鈕(包括按鈕本身)。在這種情況下,我只是刪除這些事件(如果可以的話),直到我得到我想要的。事件偵聽器斷點會更理想,但是在使用jQuery或其他庫時它們有時很困難,實際上我已經向Chrome開發工具團隊發出了一個功能請求來解決這個問題。 (允許你指定哪些文件是在那些特定的文件「你」,只有「破」)

好運-ck

+1

謝謝,暫停之前工作。但我必須小心,儘管如此。移動鼠標也會暫停我的頁面,所以我必須關注chrome開發工具窗口(我彈出它),然後將鼠標移動到位置,按F8,然後單擊按鈕。但這並不完全理想,因爲它直接傳遞給jquery文件。如果他們在Chrome開發工具中添加該功能將會很好。如果我可以告訴它不要在jQuery文件中觀看文件,它會讓我的生活變得更輕鬆。 (這三條線對我來說毫無意義。) – teynon 2012-03-13 16:15:45

+0

@Tom是的,那些是我的感受。圖書館減少了「DOM事件斷點」的實用性(我認爲它本身非常棒),如果你想要的話,你應該向Paul Irish發送有關該功能的垃圾郵件...... – ckozl 2012-03-13 16:34:33

+0

@ckozl - 你有沒有從團隊得到任何反饋?如果沒有,您能否提供鏈接到您的功能請求。這是必須具備的,因爲在使用像jQuery這樣的擴展庫時,事件監聽器斷點是無用的。 – Nullius 2013-09-25 09:11:55

2

試試這個:

$(yourbutton).data('events'); 
+0

謝謝,這並不完全符合我的需求,但知道這很有趣。這似乎只是告訴我哪些聽衆被掛鉤,但不會通過文件或行指向該功能。 – teynon 2012-03-13 16:12:58

+0

就像一個旁註:從jQuery 1.8+這個方法將返回undefined。相反,你應該使用$ ._ data(element,「events」) – Nullius 2013-09-25 09:08:15

+0

http://stackoverflow.com/questions/2518421/jquery-find-events-handlers-registered-with-an-object – Nullius 2013-09-25 09:21:17