2013-04-03 88 views
1

這個問題已經出現了幾次:有沒有簡單的方法來查找防止事件默認的代碼?

我寫了一些代碼來處理一個事件,例如點擊。我點擊元素並沒有任何反應。在我的代碼有機會處理它之前,其他一些代碼正在調用e.preventDefault()

問:
有沒有辦法找到阻止默認被我忽略的代碼?

我通常在運行JavaScript的螢火蟲探查,看着每一個被點擊(不是裏面的jQuery等)可以做邪惡的過程中調用的函數解決這個問題。一定有更好的方法。

+1

[視覺事件](http://www.sprymedia.co.uk/article/Visual+Event+2)可能會有所幫助。 – jbabey 2013-04-03 19:14:19

+0

嘗試過。它沒有告訴我任何新東西 - 一個有趣的工具,再次使用不當。 – mkoryak 2013-04-03 19:26:04

回答

1

我會把測試警報在應該執行,從頂部開始,然後每個語句後向下移動它的功能。如果警報沒有在函數頂部執行,我會檢查您的HTML元素以及如何選擇它。如果一切看起來都很好,我會使用可能的元素選擇器來搜索文件。

+0

對,我的事件代碼根本不執行。搜索選擇器將工作到一定程度。如果一個元素深藏在HTML中,我可以給你100個不同的選擇器,以匹配它,而且一個觸發元素的子元素將觸發它。 – mkoryak 2013-04-03 19:54:09

+0

是的,它進一步深入DOM樹...老實說,如果你仍然有問題,我會重建從有問題的元素開始的頁面。這對於解決您的問題看起來可能還有很長的一段路要走,但是消除其他因素會讓您更快地找到問題的根源......並且重新構建您熟悉的頁面將會縮短您認爲的時間。希望這可以幫助。 – Dusty 2013-04-03 20:27:57

相關問題