Javascript jQuery UI小部件工厂和原型?
使用jQueryUI小部件工厂,如何设置在插件的所有实例中都具有相同值的属性?(因此,如果该值在一个实例中更改,则会在所有实例中更改。) 乙二醇Javascript jQuery UI小部件工厂和原型?,javascript,jquery,jquery-ui,jquery-ui-widget-factory,Javascript,Jquery,Jquery Ui,Jquery Ui Widget Factory,使用jQueryUI小部件工厂,如何设置在插件的所有实例中都具有相同值的属性?(因此,如果该值在一个实例中更改,则会在所有实例中更改。) 乙二醇 一种方法是将值存储在一个闭包中,如下所示: (function () { var value = 0; $.widget('my.plugin', { _create: function () { value++; }, getValue: function ()
一种方法是将值存储在一个闭包中,如下所示:
(function () {
var value = 0;
$.widget('my.plugin', {
_create: function () {
value++;
},
getValue: function () {
return value;
}
});
})();
$('.element').plugin();
$('.second-element').plugin();
$('.element').plugin('getValue'); // 2
一种方法是将值存储在一个闭包中,如下所示:
(function () {
var value = 0;
$.widget('my.plugin', {
_create: function () {
value++;
},
getValue: function () {
return value;
}
});
})();
$('.element').plugin();
$('.second-element').plugin();
$('.element').plugin('getValue'); // 2
因为这是一项全球性的宣言,所以这项权利应该有效。不过,为了防止冲突,您可能需要给全局变量命名。因为这是一个全局声明,所以应该可以在这里使用。不过,您可能希望为全局变量命名名称空间,以防止冲突。