当前位置: 首页 > 面试题库 >

检查附加的事件处理程序是否有任何DOM元素

百里海超
2023-03-14
问题内容

有什么方法可以查看DOM元素的事件附加了哪些函数/代码?使用Firebug或任何其他工具。


问题答案:

使用传统element.onclick= handler或HTML附加的事件处理程序<elementonclick="handler">可以element.onclick从脚本或调试器中的属性中轻松检索。

使用DOM Level 2事件addEventListener方法和IE 附加的事件处理程序attachEvent目前根本无法从脚本中检索。DOM
Level3曾经提出element.eventListenerList要获得所有侦听器,但是目前尚不清楚这是否会符合最终规范。今天,任何浏览器都没有实现。

作为浏览器扩展的调试工具 可以 访问这些类型的侦听器,但是我不知道实际上有任何侦听器。

一些JS框架留下了足够的事件绑定记录,以计算出它们所做的工作。VisualEvent采用这种方法来发现通过一些流行框架注册的侦听器。



 类似资料:
  • 问题内容: 这是我的问题:是否可以通过某种方式检查是否存在动态附加的事件侦听器?或者如何检查DOM中“onclick”(?)属性的状态?但是没有运气。这是我的html: 然后在Javascript中,将动态创建的事件侦听器附加到第二个链接: 该代码运行良好,但是我所有检测该附加侦听器的尝试均失败: 如果单击“为2添加onclick”,然后单击“[链接2]”,则事件触发良好,但“测试链接2”始终报告

  • 问题内容: 有没有一种方法可以检查jQuery中是否存在事件?我正在使用自定义命名空间事件的插件,并且希望能够检查事件是否绑定到元素。 问题答案: $(‘body’).click(function(){ alert(‘test’ )}) 您可以通过将对象引用(虽然不是jQuery对象)馈送到$.data进行检查,并为第二个参数馈送“事件”,这将返回一个填充有所有事件(例如“点击”)的对象。您可以遍

  • 在Delphi 10.4.2 32位VCL应用程序中,我使用了来自GetIt PackageManager的SVGIconImageList库的组件。 虽然组件支持事件处理程序,但它不支持事件处理程序!例如,我可以通过双击对象检查器中的事件来添加事件处理程序,但是在运行时从未调用该事件处理程序: 组件在中声明为: 那么组件难道不应该从继承它的事件吗? 无论如何,如何在应用程序的代码中为添加工作的事

  • 问题内容: 是否可以使用jQuery确定元素是否具有单击处理程序,更改处理程序或绑定到其的任何类型的事件处理程序? 此外,是否可以确定给定类型的事件有多少个单击处理程序(或任何类型的事件处理程序),以及事件处理程序中包含哪些功能? 问题答案: 您可以从数据缓存中获取此信息。 例如,将它们记录到控制台(firebug,即ie8): 或迭代它们:

  • null null 我想做的是,当我点击任何按钮时,它检查是否有任何其他按钮具有类“ButtonActive”,如果任何其他按钮具有这个类,它就从另一个按钮中移除这个类,并将它添加到我点击的按钮中。因此它应该始终是一个具有“ButtonActive”类的按钮。

  • 问题内容: 有什么方法可以检查元素在纯JS(无jQuery)中是否可见? 因此,例如,在此页面中:PerformanceBikes,如果将鼠标悬停在Deals上(在顶部菜单上),则会显示一个交易窗口,但开始时未显示。它在HTML中,但不可见。 那么,给定一个DOM元素,我如何检查它是否可见?我试过了: 但它似乎不起作用。我想知道应该检查哪些属性。我想到: 还有其他我可能会想念的东西吗? 问题答案: