Опитвам се да създам екземпляр от друга библиотека на _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-ти параметър, който е вашият прототип на джаджа (друг обект). Може би може да е полезно по някакъв начин във вашия случай - например за съхраняване на споменатите кешове.