2012-08-29 65 views
1

我正在做我的第一個插件jQuery的練習和它不會工作,我看過教程和api文檔,並沒有發現問題。編寫一個jQuery插件

我有一個選擇在html和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); 
+1

酷,_西班牙語JavaScript_。 – undefined

+2

你正在傳遞'metodos',它應該是'method'或'metodo',然後你在某些地方使用'method',而在其他地方使用'metodo'。你也把'arguments'改成了'argumentos'。只是一個理論,但你有瀏覽器翻譯你看到代碼的頁面嗎? – MrOBrian

+0

@MrOBrian我沒有使用翻譯,我只是忘記改變...我用西班牙文寫它的原因是因爲我的老闆,誰讓我做一個jQuery插件要西班牙語的所有代碼因爲我的隊友不說話英語...無論如何,我現在收拾好了,但它仍然不會工作 – jsertx

回答

1

您還可能要檢查this page一個快速的jQuery插件樣板。