comment déclarer une statique/variable de classe dans un jquery ui widget widget factory

Concernant le jquery ui widget factory...

Quel est le meilleur moyen d'avoir une variable statique/le niveau de la classe de la variable qui est partagée entre toutes les instances?

par exemple

$.widget("l'interface utilisateur.staticTest", { 
staticVar:'inchangées", 
test: function(a){ 
si(un){ 
c'.staticVar= a; 
} 
alert(JSON.stringify(ce.staticVar)); 
} 
}); 

$('#test').staticTest(); 
$('#parent").staticTest(); 

$('#test').staticTest('test','changé'); 
$('#parent").staticTest('test'); 

ci-dessus, si staticVar étaient statiques, $('#parent").staticTest('test'); alert 'changé', mais au lieu de cela il alertes "sans changement".

(ce code est sur jsfiddle si vous voulez avoir un jeu: http://jsfiddle.net/alzclarke/Sx8pJ/)

Les solutions que je peux penser de moi-même sont moches:

1) $('body').de données('sharedVariable', myData) - cela ne semble pas être une bonne pratique, que si quelqu'un ou quelque chose efface le corps de données
2) les stocker dans le prototype de l'espace de noms par exemple = $.l'interface utilisateur.staticTest.le prototype.staticVar = myData;
cela a aussi des anneaux de sonnettes d'alarme

OriginalL'auteur alzclarke | 2011-03-30