在頁面加載完成之前,Drupal頁面上的按鈕元素會變得焦點。查找腳本將按鈕設置爲焦點的按鈕
我試圖找到發生這種情況的地方,但不幸的是我無法追查到腳本。我正在使用Chrome瀏覽器,並試圖設置一個斷點,但沒有運氣。此外,我試圖找到與分析器發生這種情況的線。至今也沒有運氣。有誰知道如何正確調試它?任何幫助深表感謝。謝謝。你認爲是元素
當我與一個div取代,這個問題消失了,那麼其相關的按鈕元件本身(無級也不是元素的id)
在頁面加載完成之前,Drupal頁面上的按鈕元素會變得焦點。查找腳本將按鈕設置爲焦點的按鈕
我試圖找到發生這種情況的地方,但不幸的是我無法追查到腳本。我正在使用Chrome瀏覽器,並試圖設置一個斷點,但沒有運氣。此外,我試圖找到與分析器發生這種情況的線。至今也沒有運氣。有誰知道如何正確調試它?任何幫助深表感謝。謝謝。你認爲是元素
當我與一個div取代,這個問題消失了,那麼其相關的按鈕元件本身(無級也不是元素的id)
你想要做什麼是右鍵單擊要觸發事件並在上下文菜單中單擊檢查。 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網站。
非常感謝!我找到了 :) – Xavin
這幾乎不可能在沒有看到任何代碼的情況下進行調試。 –