javascript - 如何访问 jquery 内部数据?

标签 javascript jquery asp.net .net web-services

从 jQuery 1.7 开始,您可能知道也可能不知道,整个事件系统已从头开始重写。代码库要快得多,并且使用新的 .on() 方法可以非常统一地连接事件处理程序。

曾经能够访问内部事件数据并调查在任何给定元素上注册了哪些事件,但最近基于以下情况隐藏了此内部信息...

似乎“私有(private)”数据总是存储在 .data(jQuery.expando) 中 - 对于“对象”,删除对象也应该删除其缓存,这在一定程度上是有道理的。

然而,在节点领域,我认为我们应该将这些“私有(private)”成员存储在单独的(私有(private))缓存中,这样它们就不会污染 $.fn.data() 返回的对象”

虽然我同意上述隐藏内部数据的更改,但我发现访问此信息有助于调试和单元测试。

在 jQuery 1.7 中获取内部 jquery 事件对象的新方法是什么?

最佳答案

在 jQuery 1.7 中,事件存储在可通过内部 $._data() 方法访问的备用位置(但请注意,此方法被记录为仅供内部使用 在源代码中,因此使用它需要您自担风险,并做好在库的 future 版本中更改或消失的准备。

要获取元素上注册的事件,您可以对该元素调用 $._data() 并检查返回对象的 events 属性。例如:

$("#yourElement").click(function() {
    // ...
});

console.log($._data($("#yourElement")[0]).events);

关于javascript - 如何访问 jquery 内部数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975552/

相关文章:

javascript - ViewState 在连续的部分回发之间丢失?

javascript - 如何从特定元素中删除快速点击?

javascript - 在 ul 中更改具有给定类的 li 元素的位置?

javascript - 切换隐藏不起作用

c# - 如何在 asp.net 应用程序中注销按钮 Windows 身份验证

asp.net - InProc session 状态不起作用

javascript - 获取 $http 服务并调用

javascript - 使用 Javascript、 Node 自动化 UI 测试 - 启动和停止 Web 服务器

javascript - jQuery-onclick : Why does it execute click right on adding handler?

jquery - 使用 jQuery 更改特定文本