4

私はjQueryプラグインの開発に不慣れで、以下にリストされている2つの方法の違いについて知りたいと思っています。そして、これを行う正しい方法は何ですか?

(function($){
  $.myplugin = {
    // plugin code
  };
})(jQuery);

そして2番目のもの:

(function($){
  $.fn.myPlugin = function() {
    // plugin code 
  };
})(jQuery);
4

2 に答える 2

8

最初のものは、ユーティリティ関数を jQuery に追加します。これは として呼び出され$.myplugin(...)ます。

2 つ目は、jQueryオブジェクトに作用するプラグインを追加します。これは次のように呼び出されます。$(selector).myPlugin(...)

要素に作用し、関数呼び出しの jQuery スタイルの「チェーン」の一部になることができるプラグインで作業している場合は、後者を選択してください。

于 2012-05-16T08:03:26.917 に答える
2

$.fn は jQuery.prototype を指します。それに追加するメソッドまたはプロパティはすべて、jQuery でラップされたオブジェクトのすべてのインスタンスで使用できるようになります。

$.something は、プロパティまたは関数を jQuery オブジェクト自体に追加します。

ページ上の DOM 要素を処理し、プラグインが要素に対して何かを行う場合は、最初の形式 $.fn.something を使用します。プラグインが DOM 要素と関係がない場合は、他の形式の $.something を使用します

同様の質問:-)

于 2012-05-16T08:07:23.983 に答える