2010-08-18 63 views
19

例如有一個按鈕。它被<div>包裹。如何調試JAVASCRIPT事件?或者如何使所有函數調用跟蹤?

當按下此按鈕時,會有javascript函數調用發生,然後是另一個函數,然後通過ajax調用服務器,如果沒問題,javascript會將此頁面重定向到另一個頁面。

這很難調試。

是否有可能「抓」這個事件?即要知道,點擊按鈕後調用了什麼函數?按鈕沒有屬性「onclick」,即事件監聽器使用javascript連接。

如果這是不可能的,那麼是否有可能來跟蹤?那是看所有的函數調用,哪個在之後調用?

這將在可視化的方式會更好,但在文本也是回覆不錯:)

謝謝!

回答

23

是的 - 這種事情並不像你想的那麼簡單。

Google Chrome有一個「Event Listeners」面板。右鍵單擊您的按鈕,然後選擇「檢查元素」。確保選擇了正確的元素,然後檢查右側的「Event Listeners」面板。

您還可以使用「調試器」關鍵字在某個地方的調用堆棧中設置斷點。然後使用你最喜歡的javascript調試器(Safari中的內置開發工具,IE 8的Chrome Chrome &,Firefox的螢火蟲)。在其中的每一箇中,都有一個調用堆棧,可以讓您瀏覽當前的調用堆棧。

+0

如果元素不可見或不是DOM的一部分,該怎麼辦? – 2015-11-05 21:20:40

0

您可以使用firebug來跟蹤代碼javascript。它的Firefox插件追蹤樣式(css),js,並允許編輯。

歌劇院提供dragonfly這是類似Firebug的

-1

退房調試功能在Firebug,它會告訴你添加JavaScript斷點,並通過您的代碼步。

+2

這也不能回答這個問題。 – antinome 2012-04-04 22:56:27