如何访问jquery内部数据

how to access jquery internal data?

本文关键字:jquery 内部 数据 访问 何访问      更新时间:2023-09-26

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

曾经可以访问内部事件数据并调查在任何给定元素上注册的事件,但最近基于以下场景,这些内部信息被隐藏了。。。

"私有"数据似乎总是存储在.data(jQuery.exexpo)上——对于删除对象也应该删除其缓存的"对象",这是有意义的。

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

尽管我同意上述隐藏内部数据的更改,但我发现访问这些信息对调试和单元测试有帮助。

在jQuery1.7中获取内部jquery事件对象的新方法是什么?

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

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

$("#yourElement").click(function() {
    // ...
});
console.log($._data($("#yourElement")[0]).events);