首页 > web前端 > js教程 > 如何使用 jQuery 检索绑定到元素的事件侦听器列表?

如何使用 jQuery 检索绑定到元素的事件侦听器列表?

Linda Hamilton
发布: 2024-11-08 02:52:02
原创
440 人浏览过

How can I retrieve a list of event listeners bound to an element using jQuery?

使用 jQuery 检索分配给元素的事件侦听器

在 JavaScript 中,将事件处理程序附加到元素是增强用户交互的常见做法。 jQuery 提供了强大的事件处理功能,可以轻松分配和管理元素上的事件侦听器。这就提出了一个问题:我们可以使用 jQuery 检索绑定到特定元素的事件列表吗?

问题:

场景:我们有一个带有 ID 的元素 " elm”,我们已将两个事件处理程序附加到此链接 - 一个用于单击事件,另一个用于鼠标悬停事件。

<a href='#'>
登录后复制
$(function()
{
  $('#elm').click(_f);
  $('#elm').mouseover(_m);
});

function _f(){alert('clicked');}
function _m(){alert('mouse over');}
登录后复制

有没有办法获取与该元素关联的所有事件的列表ID为“elm”?

答案:

在最新版本的 jQuery 中,$._data 方法可用于检索有关元素的信息,包括任何事件绑定到它。值得注意的是 $._data 是一个仅供内部使用的方法。

// Bind up a couple of event handlers
$("#foo").on({
    click: function(){ alert("Hello") },
    mouseout: function(){ alert("World") }
});

// Lookup events for this particular Element
$._data( $("#foo")[0], "events" );
登录后复制

$._data 将返回一个包含附加到指定元素的事件的对象。

{ 
    click: [
        {
            handler: function(){ alert("Hello") }  // The defined click handler
        } 
    ],
    mouseout: [
        {
            handler: function(){ alert("World") }  // The defined mouseout handler
        }
    ] 
}
登录后复制

中Chrome,您可以右键单击处理函数并选择“查看函数定义”来追踪其在代码中的起源。

以上是如何使用 jQuery 检索绑定到元素的事件侦听器列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板