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 = 1
或 a = []; a.someData = 1
。
它确实有效,但不是 "clean"。更改对象的结构会产生性能成本。并且您假设该对象没有已用于其他用途的属性 someData
。
有了.data()
你就安全了。
给定以下示例...
$("#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 = 1
或 a = []; a.someData = 1
。
它确实有效,但不是 "clean"。更改对象的结构会产生性能成本。并且您假设该对象没有已用于其他用途的属性 someData
。
有了.data()
你就安全了。