我在 jquery 中做我的第一个插件进行练习,但它不起作用,我看过教程和 api 文档并没有发现问题。
我在 html 中有一个 select 和一个 span.sl1。我这样称呼它:
$("select").selectFunc("onChange");
我的插件代码是:
(function( $ ){
var metodos = {
init : function(opciones) {
var configuracion = {
container:$('span.sl1'),
valor:$(this).val()
};
return this.each(function(){
if(opciones){
configuracion = $.extend(configuracion,opciones);
}
});
},
onChange:function(opciones){
return this.each(function(){
$(this).bind('change',function(){
container.html(valor);
});
});
},
unbind : function (){
return this.each(function(){
$(this).unbind('mouseover');
$(this).unbind('mouseout');
});
}
};
$.fn.selectFunc = function( metodos ) {
if (metodos[method] ) {
return metodos[ metodo ].apply( this, Array.prototype.slice.call( argumentos, 1 ));
}
else if ( typeof metodo === 'object' || ! metodo ) {
return metodos.init.apply( this, argumentos );
}
else {
$.error( 'Este método ' + metodo + ' no existe en jQuery.estiloPropio' );
}
};
})( jQuery );