私はjQuery.fnがjQuery.prototypeのショートカットであるという印象を受けています。しかし、プラグインはjQueryのメソッドではありませんオブジェクト?なぜプロトタイプにメソッドを追加したいのですか?メソッドをプロトタイプに追加しないと、jQueryオブジェクトをコンストラクタとして使用して作成したオブジェクトにメソッドを渡します(jQueryオブジェクト自体にメソッドを追加するのではなく)。jQuery.fnを使用してプラグインを追加する理由
3
A
答えて
9
これはもう少し複雑です(または少なくともそう思われます)。あなたは
return new jQuery.fn.init(selector, context, rootjQuery);
In addition we havejQuery.fn.init.prototype = jQuery.fn
you are actually calling
jQuery(selector)
を呼び出すと
:source code (jQuery 1.6.2)を見てみましょう。
jQuery.fn
を拡張すると、jQuery.fn.init.prototype
も拡張されます。
我々は(jQuery()
を呼び出すことによって)new jQuery.fn.init
で作成するすべてのオブジェクトは、プロトタイプを参照を持っているとして、過去や未来に作成されたすべてのオブジェクトは、私たちがjQuery.fn
に割り当てるすべてのメソッドにアクセスする必要があります。
私はこれがあなたの混乱を解消することを願っています。そうでない場合は、ただ質問してください:)
-4
jQueryのドキュメントはPlugins/Authoringです。
jQueryプラグインに新しいプラグインを追加する2種類の方法があります。$
以外何か他のものを使用して、上書きをするプラグインを引き起こす可能性があるため
(function($){
$.fn.myPlugin = function() {
// Do your awesome plugin stuff here
};
})(jQuery);
が(function($))
は1未満に使用するよりも安全ですうまくいかない。
jQuery.fn.myPlugin = function() {
// Do your awesome plugin stuff here
};
関連する問題
- 1. webview経由でウェブページボタンを使用してカレンダーイベントを追加する
- 2. jQueryがこれを行う理由:jQuery.fn.init.prototype = jQuery.fn?
- 3. knox/node.jsを使用してAmazon S3からファイルを取得するときに追加する理由
- 4. DataTablesプラグインでjQueryを使用してボタンの表に列を追加する
- 5. WPのプラグインを使用してテーマのフッターにリンクを追加するには
- 6. jQuery検証プラグインを使用してアップロードフォームに検証を追加する
- 7. 配列を使用して追加領域を追加する
- 8. SurfaceViewを使用してキャンバス上にレイヤーを追加して管理する
- 9. jQueryを使用して追加する
- 10. グラフAPIを使用してFacebookページに管理者を追加
- 11. jquery.mmenuプラグインを使用しているときに読み込みイメージを追加
- 12. PHPは理由なしでxmlを追加します
- 13. API呼び出しを使用してチケットに代理人を追加する
- 14. プラグインを使用してコントローラレスポンスを後処理する
- 15. Mac OS XでTarコマンドを使用すると、「隠しファイル」を追加する理由は?
- 16. メソッドを追加して使用するJavaリフレクションを追加して使用する
- 17. TableLayoutPanelを使用して列を追加した後に行を追加する
- 18. JumboEnumSetを使用する理由とその理由
- 19. ビューの前処理を使用してビューにcssとjsを追加する
- 20. C#プラグインDLL経由でwinformでコントロールを追加
- 21. ApacheがURIに.phpを追加する理由
- 22. scalacが追加/ラッピングクロージャを生成する理由
- 23. CMakeのADD_LIBRARY/ADD_EXECUTABLEコマンドにヘッダーファイルを追加する理由
- 24. Oracleがddlエクスポートに余分なテーブルを追加する理由
- 25. PhoneGapプラグインを追加してPhonegapビルドを使用してアプリケーションをビルドする方法
- 26. SharpSVNを使用してファイルを追加
- 27. Jcarouselのプラグインを変更して別のナビゲーションコントロールを追加する
- 28. jqueryプラグインをマスクとしてdivを追加する
- 29. nullableフィールドを使用する/使用しない理由Laravel - MySQL
- 30. フィールドをコンテンツタイプに追加するときにfieldLinksを使用する理由は何ですか?
はい私はそれを読んだが、何も私の質問に対処しませんでした。私はそれをする方法を完全に理解している、私はちょうど私たちがそれをやり遂げるべきである理由を理解していない。私はおそらく概念的に混乱しているでしょうが、私は何について知りたいのですか? – zjmiller
プラグインを作成する機会は[more more](https://github.com/jquery-boilerplate/patterns/)です – yckart