0

私はオブジェクトリテラル構文で書かれたプラグインを持っているので、それは基本的に単なる大きなオブジェクト変数です。その外部JSファイルにあります。関数内のhtmlでその関数をインラインで初期化すると、 jQuery(document).ready(function($){} 次のエラーが発生します:「オブジェクト[オブジェクトウィンドウ]のプロパティ'$'は関数ではありません」。

プラグインファイルのすべての「$」を「jQuery」に変更すると、機能します。それをせずにプラグインを動作させる方法はありますか?ありがとう!私を助けるためにもっと情報/コードが必要な場合は私に知らせてください、私はもっと提供することができます。

-詳細:

input/textareaの文字を制限するプラグインです。次のようになります。

var charLimiter = { 
  //config stuff here...

'init' : function(options) {    
        if (options && typeof(options) == 'object') {
             $.extend(charLimiter.config, options);
        }

    $('.'+charLimiter.config.inputClass).each(function() {
       var $this = $(this);

       charLimiter.appendHTML($this);
       charLimiter.calcChars($this); 
    });

},

'someFunction' : function(){}, 

//..more stuff here... 

};

HTMLで呼び出すと、次のようになります。

jQuery(document).ready(function($){
   charLimiter.init();
});
4

1 に答える 1

1

プラグインを次のようにラップしてみてください。

;(function($){    
/* plugin code here can use "$"*/
})(jQuery);

これは、プラグイン参照の$.fn.pluginName場合$.pluginNameは機能しますが、そうでない場合は機能しない可能性があります。プラグインがどのように構築されているかを確認する必要があります

于 2013-02-07T00:16:31.417 に答える