問題タブ [jquery-ui-widget-factory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - jquery-uiウィジェットに内部プロパティを保存する方法は?
新しいjquery-uiウィジェットを最初からプログラミングしています。公式の「ウィジェットファクトリのしくみ」ドキュメントを見つけました。(http://jqueryui.com/demos/widget/)
ウィジェット自体は正常に機能します。今、私はいくつかの値を内部に保存したいです-これを行うための好ましい方法はありますか?
オプションで宣言されているすべてのプロパティはパブリックだと思います。
ご協力いただきありがとうございます!
jquery - jQueryUIウィジェットファクトリは現在のウィジェットのコンテキストを取得します
jQuery UIウィジェットのファクトリパターンを使用して作成されたウィジェット自体へのグローバル参照はありますか?
ウィジェット変数をウィジェットと等しく設定するなどのことを試してみました。
また、次のようにjQueryを介してウィジェットのコンテキストを取得しようとしました。
ウィジェット内にいるときに、どのようにウィジェットにコールバックできるのかわかりません。
jquery-ui - jQuery-ui:プライベート関数内からオプションにアクセスするにはどうすればよいですか?
私はwidget-factoryパターンを使用してjquery-uiプラグインを作成することを学んでいます。よりクリーンな編成のために、に渡されるオブジェクトリテラル内にいくつかのヘルパーメソッドを定義しています $.widget
。それらのヘルパーのオプションオブジェクトにアクセスしたいと思います。たとえば、以下のボイラープレートで、内部のオプションオブジェクトにアクセスするにはどうすればよい_helper()
ですか?
ありがとうございました。
javascript - 初期化後に特定のウィジェットのオプションが変更されないようにするにはどうすればよいですか?
私は現在jQueryUIWidget Factoryを使用していますが、残念ながらドキュメントが非常に貧弱です。
これが基本的なウィジェット(テスト用のjsfiddle)です
Factoryのプライベートメソッドは疑似プライベートであり、。を使用して直接アクセスできることを理解しています.date()._privateMethod()
。ご覧のとおり_setOption()
、オプションの変更に対応するために利用しています。
私の例ではmax
、ユーザーに直接公開したくない(つまり、ユーザーがを使用して変更したくない.myWidget('option', 'max', value)
が.myWidget({max: value})
、同時に公開したいmin
。
要約すると:
- ユーザーが任意のオプションでウィジェットを初期化(インスタンス化)できるようにしたいと思います(ウィジェットはすでに実装され、機能しています)。
- 初期化後にパブリックAPIを使用してユーザーが変更できないようにします(つまり、ウィジェットを使用して、またはウィジェットを使用してインスタンスに直接アクセスすることでユーザーが変更しても問題ありません。
max
max
.data
.prototype
どうすればそれを達成できますか?
jquery - jQueryの.data()関数と一緒に使用されるJavaScriptプロトタイプ?
JavaScriptプロトタイプをjQueryの.data()関数と一緒に使用しようとしています。私のコードは次のようになります。
これはうまくいかないようです。理由を知りたいだけです。
このコードを実行すると、次のようになります。
ウィジェットファクトリに基づくjQueryプラグインに取り組んでおり、このプラグイン内に管理可能なステートマシンを構築したいと考えています。これは、プラグインの現在の状態を保存してアクセスできる中心的な場所です。これを試してみたい理由の1つは、特定の値が変化するかどうかを監視し、変化したときに他のことをトリガーできるようにしたいということです。.data()関数を使用してデータを保存する必要があります。これは、データを要素に関連付ける必要があるためです。そうしないと、同じページにプラグインの複数のインスタンスを取得したときに奇妙なことが起こります。
javascript - jQuery-ui ウィジェット ファクトリ、イベント ハンドラなど
私は最近、いくつかの jQuery ウィジェットを開発していますが、2 つのことが気になっていたので、もっと良い方法を見つけてくれることを願ってここに来ました。
1) 私はこれの代わりに「あれ」を使うという事実がとても好きです。コードがより明確になり、多くのバグが回避されます。簡単にするために、ウィジェットの this として常に「that」を使用します。ただし、「それ」をグローバルにする方法がわからないので、次のようにします。
ご覧のとおり、これはコードが重く、あまり良くありません。私がすることが有効かどうか疑問に思っていました:
それとも何か問題になるのでしょうか?それが不可能な場合、どのように行うのが最善の方法だと思いますか?
2)これは私の最初の質問に実際にリンクされており、それに対する答えで十分です。イベントハンドラーの場合、「that」を使用してメソッドを呼び出す必要があることがよくあります。だから私が現在していることは
これを行うためのより良い方法が見つかりますか?私の大きなニーズは、that._handlers の初期化全体を that._create から移動できるようにすることです。
これらは非常にオープンな質問です。私は自分のjqueryウィジェットを本当に明確で保守しやすいものにする方法を見つけようとしています.人々がどのようにやっているか知りたい.
これについてご意見をお寄せいただきありがとうございます。
javascript - 1つのインスタンスとしてのみ動作するjqueryウィジェットのオブジェクト
ウィジェットファクトリを使用してjQueryウィジェットを開発してきました。
同じページ上の複数のDOM要素でウィジェットをインスタンス化すると、オプションオブジェクトを除いて、ウィジェット内のすべてのオブジェクトがDOM要素間で共有されることに気付いた以外はすべて問題ありません。
すべてのオブジェクトと関数には、ウィジェット内に独自のインスタンスがあると思いました。私は明らかに何かが欠けているので、いくつかのガイダンスをいただければ幸いです。
例えば:
この実例:http://jsfiddle.net/NrKVP/4/
前もって感謝します!
javascript - jQueryウィジェットファクトリ_triggerインスタンス
イベントを発生させるために_triggerメソッドを使用すると、ヒットし続けるスナッグにヒットしましたが、適切に把握できません。
基本的に、ウィジェットのインスタンスが複数ある場合、同じページでインスタンス化される最後のウィジェットが他のすべてのウィジェットよりも優先されます。
$ .extendを学習して正常に使用し、インスタンスに固有のオブジェクトを作成しましたが、次の問題に取り組む方法に困惑しています。
インスタンスごとに有効になるように_triggerメソッドを適切に使用する方法。
こちらのサンプル:http://jsfiddle.net/NrKVP/13/
javascript - jQueryUIウィジェットのコールバックとしてトリガー
私は最初のjQueryUIウィジェットに取り組んでいます。$ .ajaxを使用してデータをプルし、データがロードされた後に要素にデータを入力します。通常、私はajaxプルを実行し、「onSuccess」コールバック関数をその関数に渡して、ajaxプルが成功したときに実行される関数を使用します。
これが私が言っていることの本当に単純化されたバージョンです:
ウィジェットファクトリを使用すると、$。ajaxの成功関数にトリガーを追加できることがわかります。ウィジェットコード内でそのトリガーを使用できますか?
このようなものは機能しますが、ベストプラクティスではないようです。
ここでベストプラクティスと見なされるものは何ですか?
jquery - setIntervalのパブリックメソッドのjQueryウィジェットファクトリアクセスオプションとメソッド
ウィジェットファクトリを作成しましたが、パブリックメソッドでそのオプションまたはメソッドにアクセスしたいのですが、エラー「142 Uncaught TypeError:Object hasnomethod」または「cannotreadproperty」が返されます。正しくアクセスするには?
次に例を示します。
_createメソッドのオプションにアクセスすると、正常に機能します。よろしくお願いします。