在页面加载完成之前,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
这几乎不可能在没有看到任何代码的情况下进行调试。 –