如何检测添加到 div 上的所有事件

4

我是 jQuery 和其他类似的 js 框架的新手。到目前为止,我通常会像这样处理:

<div onclick="function()"></div>

但是在jQuery中,我们获取元素并在其上添加事件。如何检测添加到div上的所有事件?

我有一个div,其高度设置为剩余的高度。然后我找不到合适的CSS。我坚信这是通过JavaScript完成的。我无法在任何地方找到相关代码。我不知道如何调试此问题。

非常感谢任何帮助。


有时候尝试通过检查元素更改一些选项,有时元素会继承某些行为,或者如果它显示内联高度,则可能来自JS。 - Sahil Popli
1
除非你有该div的选择器,否则无论js做了什么,你都可以更改该divheight - Bharath R
为什么不使用Firefox的Firebug进行调试呢?它是一个方便的调试工具。 - Orville Patterson
这不是通过 JavaScript 完成的。该元素被绝对定位,然后添加了这些属性 top: 45px; right: 0px; bottom: 0px; right: 0px; 这就是 div 占用整个可用高度的方法。我以前从未知道这个技巧/解决方案。 - Krishna Chaitanya
使用像Firebug这样的调试器,并找到“下一步中断”功能。http://www.softwareishard.com/blog/firebug/firebug-15-break-on-next/ - Captain John
显示剩余2条评论
1个回答

4
回答您的问题,您可以使用以下代码:
``` jQuery._data(elem, "events"); ```
这将返回所选元素上所有已绑定事件的对象。
当元素未绑定任何事件时,将返回`undefined`。
请注意,此方法只适用于单个元素。对于类选择器,请使用以下代码:
$._data($('.class')[0], "events")

这只选取具有该类的第一个元素,而不是所有具有该类的元素。

jsFiddle


来源:jQuery查找注册在对象上的事件处理程序


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接