正如here所述,为了保存必须在不同事件中可访问的状态,建议使用$$(this)
,如下所示:
$$(this).filters = "myvalue";
该语法是什么意思?为什么$$
(双倍美元)?为什么this
?为什么()
(括号)?
无论如何,那段代码对我不起作用。我必须使用类似的东西:
$.filters = "myvalue";
我想理解为什么第二种形式有效,第一种形式没有。
答案 0 :(得分:1)
只需查看eventlly的源代码,$$
只是jQuery的data
方法的简写:
function $$(node) {
var data = $(node).data("$$");
if (data) {
return data;
} else {
data = {};
$(node).data("$$", data);
return data;
}
};
所以,简而言之 - 它会在jQuery为你的参数返回时调用data
,如果没有附加数据,它会创建空对象,将其用作新的data
并返回它。
$.filters = "myvalue"
这可以通过将值分配给全局jQuery对象来实现,而$$
将数据附加到查询所代表的对象。