KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Regarding the jquery ui widget factory... What is the best way to have a static variable/class level variable that is shared amongst all instances? e.g. $.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'); in the above, if staticVar were static, $('#parent').staticTest('test'); would alert 'changed' but instead it alerts 'unchanged'. (this code is on jsfiddle if you wanna have a play: http://jsfiddle.net/alzclarke/Sx8pJ/ ) The solutions i can think of myself are ugly: 1) $('body').data('sharedVariable', myData) - this doesn't seem like good practice, what if someone or something clears the body of data 2) store it in the prototype namespace e.g. = $.ui.staticTest.prototype.staticVar = myData; this also rings alarm bells
Tags (comma-separated)
Save Edits
Cancel