2014-06-20 58 views
1

是否有工具(或螢火蟲中的東西)能告訴我哪些事件剛被解僱,更重要的是他們綁定了哪些元素?如何找出什麼事件觸發什麼元素

我有一些JavaScript的「包括」,一些縮小,一些沒有。我正在經歷一些我想要關閉的奇怪行爲,但我找不到是什麼原因造成的。

我有一個表單顯示在「彈出」,當我嘗試點擊其中一個輸入框,「彈出」關閉,所以某些事件綁定在某處導致此。

問題是,我不知道這個虛假事件綁定了什麼元素。這個問題也會發生,如果我點擊彈出框內的任何地方(以及覆蓋頁面其餘部分的背景蒙版,但這是可以接受的)

我使用的是firefox,所以我可以在控制檯中鍵入的任何東西也是選項。在多個JavaScript文件中的eventys以各種方式完成,一些通過jQuery,一些使用內聯屬性(例如onclick =「...」),一些只使用javascript。

我當然不想在每個javascript文件中爲每個可能的事件添加一行代碼。

我花了一個多小時試圖追捕這個DOM元素,並已經消除了像包含彈出窗口和身體標籤的divs的明顯的。

回答

1

DOM修改可以使用Firebug中的Break On Mutate option進行跟蹤。可以通過點擊HTML panel中的相關按鈕(Break On Mutate button)來激活它。請注意,必須啓用​​才能使其工作。

還有其他幾個Break On ... features,它可以幫助您找到特定事件的代碼中的正確位置。

此外Firebug 2.0引入了Events side panel,它顯示了所有綁定到在HTML面板中選擇的元素的事件。如果使用像jQuery這樣的庫,它甚至允許您調查由庫函數包裝的用戶定義函數,以便在the answer to a related question中啓用選項顯示包裝的偵聽器

+0

優秀 - 我正在尋找 - 謝謝你 – Graham

相關問題