私は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. jQueryがこれを行う理由:jQuery.fn.init.prototype = jQuery.fn?
- 2. 追加を使用してjQueryプラグインでオーバーレイを作成する
- 3. webview経由でウェブページボタンを使用してカレンダーイベントを追加する
- 4. CKEditorプラグインを追加するにはクライアントサイドJavaScript経由ですか?
- 5. knox/node.jsを使用してAmazon S3からファイルを取得するときに追加する理由
- 6. Android Studioでエラーが発生しやすいプラグインを使用する理由
- 7. プラグインなしでpostcss-loaderを使用する理由は何ですか?
- 8. DataTablesプラグインを使用してテーブル本体にスクロールバーを追加する方法
- 9. ワードプレスで独自のプラグインを使用して投稿を追加するには
- 10. jQuery検証プラグインを使用してアップロードフォームに検証を追加する
- 11. pom.xmlプラグインを使用してVM引数を追加する方法
- 12. プラグインと変数を使用してフロントエンドにCSSを追加する
- 13. woocommerceプラグインを使用してデータベースのコンテンツを商品ページに追加する
- 14. Jquery Validationプラグインを使用してフォームにリアルタイム検証を追加する
- 15. DataTablesプラグインでjQueryを使用してボタンの表に列を追加する
- 16. Angular2 AngularCLI(webpack)を使用してサードパーティのプラグインを追加する方法
- 17. WPのプラグインを使用してテーマのフッターにリンクを追加するには
- 18. プラグインを使用して外部HTMLページをワードプレスページに追加するには
- 19. 連絡先フォーム7プラグインを使用してフィールドを動的に追加する
- 20. プラグインを使用してonlyoffice docにハイパーリンクを追加する方法は?
- 21. ソートをソートする理由累積を使用する理由
- 22. 私はhashHistoryプラグインを使用していない理由は、URLはハッシュが
- 23. WordPressプラグインを使用して<a>タグを追加してください
- 24. プラグインを使用してアプリケーション(特にEllie Mae Encompass)にパネルを追加します。
- 25. ウェブページボタン(API経由)を使用してFacebookページに管理者を追加する方法
- 26. SurfaceViewを使用してキャンバス上にレイヤーを追加して管理する
- 27. 配列を使用して追加領域を追加する
- 28. Ionicでのプラグインの追加と使用
- 29. Cordovaプラグインを追加する
- 30. DOMを使用してHTMLタグに追加すると文字列が変更される理由
はい私はそれを読んだが、何も私の質問に対処しませんでした。私はそれをする方法を完全に理解している、私はちょうど私たちがそれをやり遂げるべきである理由を理解していない。私はおそらく概念的に混乱しているでしょうが、私は何について知りたいのですか? – zjmiller
プラグインを作成する機会は[more more](https://github.com/jquery-boilerplate/patterns/)です – yckart