jQuery 1.9以降、a widget can inherit from itself。なぜこれが役立つのかという現実的な例は見つけられませんでした。率直に言って、自分自身から継承するアイデアは私の脳を壊してしまいます。この機能の目的は何ですか?この機能を使用して、以前にできなかったこと、またはこれまでずっと困難だったことは何ができますか?なぜjQuery UIウィジェットを自分自身から継承したいのですか?
6
A
答えて
1
in the slide you linked us「これはウィジェットを拡張する理想的な方法です」です。
これで、新しい「別の」ウィジェットオブジェクト(別名「別の名前」)を作成せずにウィジェットを拡張できます。機能を追加しても、まったく同じウィジェットオブジェクト名を使用できます。
// An incredibly contrived example
$.widget("ui.dialog", $.ui.dialog, {
close: function() {
if (confirm("Is it closing time?")) {
this._super("close");
}
}
});
私たちは一例でわかるように、その後、我々は、すでに存在ダイアログに表示されますダイアログオブジェクトに機能を追加することができ、すなわち、新しい「extendedDialog」を作成する必要はありませんし、 "extendedDialog"オブジェクトを使用するために既存のコードを変更します。代わりに、含まれている機能がすでに利用可能で、そこで動作します。
2
理由は、同じウィジェットを再定義することです。したがって、新しい機能を追加し、別のオブジェクトで拡張する必要はありません。ユーザーがクリック閉じるボタンでとあれば
$.widget("ui.dialog", $.ui.dialog, {
close: function() {
if (confirm("Is it closing time?")) {
this._super("close");
}
}
});
上記のコードを実行した後、作成されるすべてのダイアログが確認メッセージをポップアップ表示されます:あなたが送信されたリンクで提示例で
彼はそれを受け入れる、それは閉じます。
1
これは、objective-cのカテゴリに似た機能を提供します。クラス/ウィジェットコード自体を変更したり、ソースにアクセスすることなく、クラス(ウィジェット)に機能を追加できます。
関連する問題
- 1. なぜCSSはそれ自身で継承しないのですか
- 2. なぜこのKotlin Objectはそれ自身から継承できますか?
- 3. 私は自分のアクセスデータベースから自分自身をロックしました
- 4. 自分のアンドロイドデバイスが自分自身をリセットしているのはなぜですか?
- 5. Jquery:スクリプトの中で自分自身と矛盾しているのはなぜですか?
- 6. Material-UIでは、なぜこの変数を自分自身に設定するのですか?
- 7. 自分自身で生成したapkをインストールできない
- 8. なぜiphoneはGKSessionで自分自身を検索しますか?
- 9. 自分自身
- 10. なぜactivemqが自分自身でソケットを開くのですか
- 11. クラスは自動的に自分自身の友人ですか?
- 12. ディクショナリシャローコピーを自分自身に設定するのはなぜですか?
- 13. なぜ私の変数は自分自身をリセットし続けますか?
- 14. なぜこのPHPオブジェクトはアイテムを自分自身に追加しますか?
- 15. Java - 自分自身を閉じて自分のソフトウェアカーネルパニックなどの自分自身を再起動するにはどうすればいいですか?
- 16. PartialViewはなぜ自分自身を呼び出し続けますか?
- 17. なぜ自分自身のメソッドでwithRest()をラップしてクロージャを実行できないのですか?
- 18. 自分自身のjQueryプラグインで絶対配置されたコンポーネント
- 19. EC2のUFWでSSHから自分自身をロックAWS
- 20. なぜ自分自身を返すときに関数trigger valueOf?
- 21. python smtplibを使用して自分自身にメールを送信できないのはなぜですか?
- 22. Jquery UIウィジェットで継承を実装する方法
- 23. 身長:自動?高さ:初期?または高さ:継承?
- 24. 私のゲームは自分自身を果たしていますか?
- 25. Pythonの別のクラスから自分自身にアクセスする
- 26. 自分自身をDSXプロジェクトから削除するには?
- 27. なぜ私は自分のスレッドで自分のUIを更新できないのですか?
- 28. Visual Studio Team Servicesアカウントから自分自身を削除する
- 29. クラスの外部から自分自身にアクセスする
- 30. C#windowsアプリケーションを自分自身からアンインストールする
JavaScriptにはクラスがありません;) – davidbuzatto
JavaScriptには継承がありません! :-) –
答えをありがとう。私が欠けていた重要な点は、特定のアプリケーションだけの異なるソースファイルで共有ウィジェットを拡張できることです。 C#の部分クラスのようなもの。今、完璧な意味合いがあります。 – RationalGeek