最初のjQueryプラグインを作成しようとしています。私はこれをしなかったjQueryプラグインのドキュメントを次に示します。プラグインは.fnを使用しても機能しませんが、残しておけば
(function($) {
$.fn.selection = function(array, n) { ... };
}(jQuery));
しかし、私はこのようないくつかのコードでそれを実行しようとすると:
var array = [5, 2, 1, 5, 9];
alert($.selection(array, 2));
私はエラーUncaught TypeError: Object function (j,s){return new b.fn.init(j,s)} has no method 'selection'
を取得します。しかし
、私はこのような.fn
を失う:
(function($) {
$.selection = function(array, n) { ... };
}(jQuery));
すべてが動作します。なぜ、jQueryのドキュメントのようにオブジェクトをjQuery.fn
に追加しても、元のサンプルの作業はできません。
ん、私は直接jQuery' 'に機能を追加するプラグインの互換性の面で正しいことをやっている意味ですか? – Rich
必要なのは、text()、html()などのような特定のコンテキストを必要としない関数であれば、2番目の方法は問題ありません。 – Chandu
@Rich、2番目のソリューションはC#の静的メソッドと似ていますが、jQuery型のオブジェクトでは機能しませんが、メソッドを入れるために名前空間としてjQueryを使用します。 –