jQuery:存储自定义事件之间的数据

jQuery: storing data between custom events

给定以下示例...

$("#some-id").on("custom-event-1", function()
{
  this.someData = "test";
}).on("custom-event-2", function()
{
  var test = this.someData;
  ...
});

...我能够在 custom-event-1 和 custom-event-2 之间存储和传递数据,但是,这是正确的做法吗?它有效,但我不确定是否应该以这种方式完成,或者是否应该使用 jQuery 数据方法。如果这种方法可以接受,那么数据究竟存储在哪里?我了解 jQuery 数据方法存储数据的位置,但我不确定上面的示例。

我建议您使用 .data(id,value)

DOM 元素就像一个普通对象。例如:A div 是原型 HTMLDivElement 的一个实例。通过 document.createElement('div').constructor 测试它。

this.someData = 1 类似于 a = new Date(); a.someData = 1a = []; a.someData = 1

它确实有效,但不是 "clean"。更改对象的结构会产生性能成本。并且您假设该对象没有已用于其他用途的属性 someData

有了.data()你就安全了。