/ / Глобални променливи с приставката jQuery Widget Factory? - jquery, променливи, jquery-плъгини, джаджа, фабрика

Глобални променливи с jQuery Widget Factory Plugin? - jquery, променливи, jquery-plugins, джаджа, фабрика

Опитвам се да създам екземпляр от друга библиотека на _create и достъпът до това от частни и публични функции в моята джаджа. Това възможно ли е?

$.widget("namespace.pluginName", {
_create: function() {
// Create instance from other library on create
var someovar = otherlibrary.function(options);
},
_privatemethod: function() {
var self = this;
// Call "samovar" instance?
self._create.somevar.function( "option", function() {
// Do sutff
});
}
}));

Също така обичам да кеширам селекциите си само веднъж по този начин: var div = $("#my_div"); за _create. В момента трябва да преизбера един и същ div в 10 различни функции. Това ли е начинът да го направя или просто да игнорирам кеширането?

Благодаря!

Отговори:

0 за отговор № 1

Не съм тествал, но се опитайте да го направите по следния начин:

$.widget("namespace.pluginName", {
_create: function() {
// Create instance from other library on create
this.someovar = otherlibrary.function(options);
},
_privatemethod: function() {
var self = this;
// Call "samovar" instance?
this.somevar.function( "option", function() {
// Do sutff
});
}
}));

Alto $ .widget () приема 3-ти параметър, който е вашият прототип на джаджа (друг обект). Може би може да е полезно по някакъв начин във вашия случай - например за съхраняване на споменатите кешове.