2015-06-11 58 views
0

我有一個按鈕通過Ajax回發。我試圖找出點擊按鈕時執行的代碼。我使用Visual Event(下面的屏幕截圖)來查看事件是如何綁定的,但信息對我來說並不足夠。然後我在Chrome中點擊鼠標設置事件監聽器斷點。主要jQuery文件中的斷點命中代碼也沒有幫助。所以我把這個文件黑盒子。現在當我點擊按鈕時,沒有發生斷點。找不到按鈕點擊事件如何得到連線

什麼是系統的方式來找到執行的用戶代碼?我還在整個應用中搜索「直播」和「點擊」作爲文字。這是費時的,並沒有找到按鈕的點擊事件附加在哪裏。做這樣的搜索是很痛苦的。我想知道使用Chrome的調試器或其他工具的生產技術。 (另一種瀏覽器的提示是OK)

enter image description here

回答

1

您是否嘗試過在Chrome探查?

  1. 推出的Chrome的DevTools(F12
  2. 轉到檔案面板
  3. 確保收集的JavaScript CPU檔案選擇
  4. 點擊開始
  5. 執行你的操作
  6. 請點擊停止

然後你應該看到一個被調用函數的列表。

0

有幾種可能的方式來做到這一點。一個是由用戶的意見來描述的。另一種方法是使用DevTools的調試器。

  1. 打開Chrome DevTools(F12
  2. 切換到來源面板
  3. 點擊暫停按鈕(Pause script execution button)或打F8
  4. 執行您的操作

=>腳本執行將停止在jQuery中的事件處理函數的第一行。然後您可以逐步執行您的實際事件處理功能。

注意,在Firebug這個作品要容易得多,因爲它的Events side panel已經顯示包裹的聽衆,即由一個jQuery事件偵聽器調用的功能:如果這是不是通過步進不同

Wrapped event listeners within Firebug's *Events* side panel

+0

直到我到達用戶的代碼爲止,這可能是有益的,我將在下次嘗試。我期待着當我使用黑箱jQuery時,它會跳過所有的jQuery代碼,並且斷點會碰到用戶的代碼。那沒有發生。 –

+0

如果是這樣,那麼我認爲它是DevTools中的一個錯誤,您應該報告。 –