プラグインを jQuery プロトタイプ プロパティに割り当てます。jQueryで「new」を使用しない場合、これを行う意味は何ですか? jQuery のインスタンスは 1 つだけですよね? では、プラグインをシングルトン jQuery オブジェクトに直接割り当てることはできなかったのでしょうか?
質問する
201 次
1 に答える
3
プラグインメソッドは、作成される新しいjQueryオブジェクトごとに自動的に追加される必要があります。
jQuery.fn
jQuery.prototype
プラグインメソッドを割り当てることは、それをjQueryプロトタイプに追加することと同じであるためjQuery.fn
、新しいjQueryオブジェクトが作成されるたびに、そのメソッドが自動的に使用可能になります。技術的にはjQuery.fn.init
オブジェクトですが、考え方は同じです。
次のような文字列を使用してjQueryを呼び出す:
$(".foo")
jQuery.fn(プラグインメソッドが定義されている)からプロトタイプを取得する新しいjQuery.fn.initオブジェクトを作成します。
新しいオブジェクトが作成されることを示す関連するjQueryコードは次のとおりです。
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;
于 2012-09-23T01:17:42.773 に答える