Je travaille dans un plugin jQuery, et j'ai une erreur, je veux modifier l'option d'une instance du plugin, mais quand je l'essaie, je change les options pour toutes les instances. D'accord, mon anglais est horrible, donc c'est mieux que j'ai mis mon code. Est un langage universel ...Comment configurer le plugin jquery une fois?
(function ($) {
$.fn.interruptor = function(options){
// Variable iniciales
var esMetodo = (typeof options == 'string'),
args = Array.prototype.slice.call(arguments, 1),
returnValue = this;
// Previene la llamada a los métodos internos
if(esMetodo && options.substring(0, 1) == '_') return returnValue;
(esMetodo)
? this.each(function(){
var instance = $.data(this, 'interruptor');
console.dir(instance);
return ($.isFunction(instance[options])) ? instance[options].apply(instance, args) : returnValue;
})
: this.each(function(){
($.data(this, 'interruptor')
|| $.data(this, 'interruptor', new $.interruptor(this, options))._init());
});
return returnValue;
} // fin $.fn.interruptor
$.interruptor = function(elem, options){
this.config = $.extend(true, $.fn.interruptor.defaults, {numero: parseInt(Math.random()*100)}, options);
this.id = $(elem).attr('id');
};
$.interruptor.prototype = {
_init: function(){
console.info(this.config.numero);
},
setter: function(k, v){
this.config[k] = v;
return false;
},
getter: function(){
return this.id;
},
debug: function(msg){
console.info(msg);
console.dir(this.config);
}
};
//Definición de los valores por defecto.
$.fn.interruptor.defaults = {
numero: 0,
img: 'images/iphone_switch_square2.png', // Dirección base en la que se encuentra la imagen que genera el interruptor
estado: true, // 0 => OFF, 1 => ON
deshabilitado: false, // Indica si el plugin se encuentra actualmente deshabilitado
duracion: 200, // Duración en milisegundos del cambio de estado
funcionOn : function(){alert ('On');}, // Definimos la función que se ejecuta en el On
funcionOff : function(){alert ('Off');} // Definimos la función que se ejecuta en el Off
};})(jQuery);
S'il vous plaît, quelqu'un peut me aider.
Thx