2017-01-24 68 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