相关疑难解决方法(0)

如何检查元素的相关事件处理程序?

可能重复:
如何使用FireBug(或类似工具)调试Javascript/jQuery事件绑定
如何在调试时从JavaScript节点或JavaScript代码中查找事件侦听器?
如何跟踪像onclick onblur这样的JavaScript事件?

我正在使用Firebug来检查HTML代码和CSS.我需要找到与元素关联的事件和处理程序.

使用Inspect按钮,我可以看到所有的CSS,但找不到事件处理程序.

javascript firebug

10
推荐指数
0
解决办法
6755
查看次数

我应该使用iframe而不是ajax吗?

我们正在构建一个带有音频播放器的Drupal站点,该站点应该在您浏览页面时继续播放(类似于soundcloud).

目前我们正在<a>使用ajax 加载clicked 的网站并将html注入页面并使用history.js来操作该位置.

但是有一个主要的缺点:

由于新加载的页面上可能有不同的css和js,我们必须将当前脚本,样式和链接元素与ajax响应文本(丑陋的正则表达式)进行比较,并且只添加新的但不存在的元素.通过这样做,加载另一个页面一旦执行脚本就不会删除/删除/撤消.这可能会成为一个性能问题(反正是针对标记的正则表达式).

使用iframe可以解决这个问题和其他问题:

首次单击站点上的链接时,页面内容将替换为仅加载页面的iframe.音频播放器位于原始dom中,即在iframe之外.单击iframe内的链接可以在历史API中捕获并使用.

所以,虽然我从未想过我会这么认为:我认为使用iframe可能是更好的选择,不是吗?

PS:我的主要问题是我无法控制网站上的不同页面有不同的脚本,样式确实没问题.如果网站上只有一个巨大的静态js和css,我没有遇到任何问题.

更新

除了在iOS中,iframe解决方案工作正常.iframes就像地狱一样.不过,我认为我们将采用iframe解决方案.

ajax iframe jquery drupal html5-history

10
推荐指数
1
解决办法
1238
查看次数

查看元素的所有dom事件

我有一个jQuery UI datepicker,当你点击一个日期时,清除我的URL哈希#,并且不会更改文本框中的日期.

我假设某些其他JavaScript实用程序某处有某种委托事件,它也被调用,抛出错误,并终止jquery处理程序.

我如何单步执行,或者看到所有委托事件与此dom元素匹配.

javascript jquery jquery-ui dom-events

9
推荐指数
1
解决办法
2866
查看次数

Javascript:如何获取绑定到事件的事件处理程序列表

可能重复:
如何在DOM节点上查找事件侦听器?

给定一个元素,让我们说a div,是否有可能获得绑定到元素触发的特定事件的处理程序列表?

/* pseudo code: click on a div handlers? */
document.getElementById('myDiv').getHandlers('click');
Run Code Online (Sandbox Code Playgroud)

编辑

好的,这里有更多细节.我想将一个单击处理程序绑定到div,除非另一个处理程序已绑定到div.我的想法如下:

/* pseudo code: click on a div handlers? */
if(!document.getElementById('myDiv').getHandlers('click'))
   document.getElementById('myDiv').addEventListener('click', myEventhandler);
Run Code Online (Sandbox Code Playgroud)

javascript event-handling javascript-events

8
推荐指数
1
解决办法
3571
查看次数

检测chrome中的元素样式更改

我正试图找到一种方法来检测元素样式的变化,但我没有太多运气.下面的代码适用于我定义的新属性,如tempBgColor,但我不能覆盖/遮蔽像color这样的现有属性.我知道jquery有一个watch函数,但它只检测jquery api的变化,但不直接改变elem.style.color之类的样式值.

var e = document.getElementById('element');
e.style.__defineGetter__("color", function() {
   return "A property";
});
e.style.__defineSetter__("color", function(val) {
    alert("Setting " + val + "!");
});
Run Code Online (Sandbox Code Playgroud)

有什么指针吗?

javascript google-chrome

8
推荐指数
2
解决办法
9813
查看次数

Firebug:如何查看对象的附加事件?

我已经将一些事件附加到一些div使用addEventListener.但是我在哪里可以看到Firebug中的事件?

javascript firebug

7
推荐指数
2
解决办法
1万
查看次数

如何在您的网站上使用Firebug/Dev Tools调试消失元素?

如何在您的网站上使用Firebug/Dev Tools调试消失元素?

我有一个div在mouseleave/out上消失; 我想用调试器来探索这个div,但是在我去firebug/debugger窗口的路上,我要检查的div消失了.

有没有人有诀窍来实现这一目标?

编辑: - 它没有标记显示:无,但从DOM中删除.让它变得有点挑战,如果它消失了:-)

html javascript debugging firebug developer-tools

7
推荐指数
3
解决办法
2507
查看次数

在DOM中触发的事件列表

有什么方法可以获得在DOM中触发的事件列表吗?我不希望通过添加断点进行跟踪.

我正在寻找内部浏览器日志之类的东西,其中包含为正在加载的页面触发的事件的顺序.这应该包括所有事件,甚至像mouseup,mousedown这样的事件.

html javascript browser jquery logging

7
推荐指数
1
解决办法
752
查看次数

获取与 DOM 元素关联的事件列表

在 Firefox 中,可以在开发人员工具的 Inspect Element 中查看与每个元素关联的事件。 在此处输入图片说明

我想以编程方式获得与之关联的元素和事件列表。最好使用硒+蟒蛇。

我知道getEventListenersChrome 的开发者工具中有可以使用的功能,但在 Selenium 中无法访问。

我经历了这个问题中提供的大多数解决方案,但没有找到解决我的问题的方法。

我的最终目标是迭代给定页面的 throw html 元素并执行每个元素的事件。

python selenium google-chrome-devtools puppeteer chrome-devtools-protocol

7
推荐指数
1
解决办法
331
查看次数

不引人注目的Javascript模糊了事件处理

你知道我最喜欢的关于突兀的javascript的东西吗?你总是知道当你触发一个事件时会发生什么.

<a onclick="thisHappens()" />
Run Code Online (Sandbox Code Playgroud)

既然每个人都在喝着不显眼的kool-aid,那就不那么明显了.绑定事件的调用可以发生在页面上包含的任意数量的javascript文件的任何行上.如果您是唯一的开发人员,或者您的团队有一些约束事件处理程序(如始终使用某种格式的CSS类)的约定,那么这可能不是问题.但在现实世界中,它很难理解您的代码.

像Firebug这样的DOM浏览器看起来似乎可以提供帮助,但是浏览所有元素的事件处理程序属性只是为了找到一个执行您正在寻找的代码的浏览器,这仍然很耗时.即便如此,它通常只是告诉你它是一个没有行号的匿名函数().

我发现用于发现事件被触发时JS代码被执行的技术是使用Safari的分析工具,它可以告诉你在一段时间内JS被执行了什么,但有时候可以通过很多JS来搜索.

当我点击一个元素时,必须有一种更快的方法来找出发生了什么.有人可以赐教吗?

javascript unobtrusive-javascript event-handling

6
推荐指数
2
解决办法
1225
查看次数