Что касается виджета jquery ui factory...
Каков наилучший способ иметь переменную статического значения переменной/класса, которая является общей для всех экземпляров?
например.
$.widget("ui.staticTest", {
staticVar:'unchanged',
test: function(a){
if(a){
this.staticVar= a;
}
alert(JSON.stringify(this.staticVar));
}
});
$('#test').staticTest();
$('#parent').staticTest();
$('#test').staticTest('test','changed');
$('#parent').staticTest('test');
в приведенном выше примере, если staticVar был static, $('# parent'). staticTest ('test'); будет предупреждать "изменено", но вместо этого он предупреждает "без изменений".
(этот код находится на jsfiddle, если вы хотите сыграть: http://jsfiddle.net/alzclarke/Sx8pJ/)
Решения, которые я могу себе представить, уродливы:
1) $('body'). data ('sharedVariable', myData) - это не похоже на хорошую практику, что, если кто-то или что-то очистит совокупность данных 2) храните его в пространстве имен прототипов, например. = $.ui.staticTest.prototype.staticVar = myData; это также вызывает сигнальные колокола