2017-01-24 113 views
0

在頁面加載完成之前,Drupal頁面上的按鈕元素會變得焦點。查找腳本將按鈕設置爲焦點的按鈕

我試圖找到發生這種情況的地方,但不幸的是我無法追查到腳本。我正在使用Chrome瀏覽器,並試圖設置一個斷點,但沒有運氣。此外,我試圖找到與分析器發生這種情況的線。至今也沒有運氣。有誰知道如何正確調試它?任何幫助深表感謝。謝謝。你認爲是元素

當我與一個div取代,這個問題消失了,那麼其相關的按鈕元件本身(無級也不是元素的id)

+0

這幾乎不可能在沒有看到任何代碼的情況下進行調試。 –

回答

1

你想要做什麼是右鍵單擊要觸發事件並在上下文菜單中單擊檢查。 Chrome開發人員欄將打開,您應該可以看到您單擊的元素的html標記。在這個欄上有兩個部分:一個帶有html標籤,另一個帶有標籤Style,Computed,Event Listeners,DOM斷點和屬性。

你想要的是事件監聽器,所以點擊該選項卡。現在我們看到該html元素分組事件類型的所有偵聽器。當打開一個組時,您應該看到左邊的元素列表,並且指向該事件處理程序的特定代碼行。如果你點擊鏈接,你將切換到代碼所在的文件。

現在很難的部分。正如你在一些網頁中看到的,有很多處理程序。此外,像JQuery這樣的庫的使用使得它很難找到真正做某些事的代碼片段,並且代碼可能被縮小。

因此,讓我們假設你找到了你想要調試的代碼。通常它是在像

var namespace = { 
    ... 
    handler: function(event) { 
    /* Event handler code here */ 
    }, 
    ... 

的格式在這樣的情況下,這可能工作

(function() { 
    var old_handler = namespace.handler; 
    namespace.handler = function() { 
    debugger; // this make a breakpoint here and stops 
    old_handler.apply(this, arguments); 
    } 
})(); 

當所有的失敗,使包含的代碼,並建立一個Apache服務器,以便該文件的本地副本您代理的網站除外,您將在本地參考該文件。然後你可以修改它,只要你喜歡。這不適用於https網站。

+0

非常感謝!我找到了 :) – Xavin