2013-09-16 24 views
0

我正面臨着輸入失去焦點的問題。問題是這樣的:如何用Firebug(或類似的東西)檢查事件的流程?

  1. 我發送一個AJAX請求來加載一個窗體,加載時我用一個模式顯示它。

  2. 現在,如果我點擊任何輸入它立即獲得焦點和模糊,所以我需要再次點擊它(這次它保持聚焦)。

我需要一個工具,跟蹤事件流調度在Firebug的控制檯(或一些類似工具),這樣我就可以檢測到這種奇怪的行爲的罪魁禍首,並修復它。

我試過Eventbug和FireQuery;但我無法找到導致此問題的代碼。

回答

0

你可以去找螢火蟲的腳本面板,然後將鼠標懸停輸入,然後點擊ALTCTRL從鍵盤激活「打破下一步」,然後單擊輸入,並應該在輸入的onclick處理程序中找到一個斷點,然後您可以通過代碼查找導致模糊的潛在調用(前提是您不會在某些原因中通過您的JavaScript中的setInterval/setTimeout進行任何積極的輪詢,或者你使用的框架不會;那麼它可能會暫停在那個代碼中)。

您可能還想在頁面的最開始執行一些代碼來覆蓋addEventListener方法,以便劫持它:記錄對它的任何調用,並將執行轉發給原始函數;請參閱my presentation的幻燈片13-14(我在Greasemonkey中做了這個,但這裏沒有關係,只要確保在頁面的開頭就執行它)。

+0

Alt + Ctrl + B不起作用,因爲似乎有幾次事件發生。我會嘗試addEventListener方法劫持並回報。我使用Greasemonkey,所以我甚至可以爲您的開發網址註冊您的Userscript。 – manu

+0

我已經使用了一個修改過的UsersScript,這對我有很大的幫助。我仍然需要知道錯誤的來源,但這絕對是一條可行的路。 – manu

相關問題