JQuery ウィジェットのコールバック。関数を起動する
-
14-10-2019 - |
質問
jqueryウィジェットにコールバックを追加しました。コンソールにデータが出力されますが、ページ内のデータに何かを適用するにはどうすればよいですか?
例...
ウィジェット オプションで、入力を受け取るために次のものを利用できるようにしました。
complete : ''
ウィジェットにもメソッドを追加しました。
_complete : function(data) {
if(this.options.complete) {
console.log(data);
}
}
ウィジェットの別のメソッドで、ajax 呼び出しを行ってから、これを使用します。 _complete
ajax が終了した後に起動するメソッドは次のようになります。
self._complete(self.options.complete);
したがって、ウィジェットを使用するときに、ウィジェットに何かを渡すと、 complete
次のようなオプション:
complete : function(){$('.gridrow').css('background-color','#FFF');}
この出力はコンソールに次のように表示されます。
function(){$('.gridrow').css('background-color','#FFF');}
しかし、私が本当に望んでいるのは、それを実際にコードに適用して、グリッドロウ クラスの背景色を変更することです。
何でも渡してコンソールに出力できますが、実際にページに適用するにはどうすればよいでしょうか?
解決
なぜ渡す必要があるのかわかりません complete
あなたにとって機能する _complete
関数をテストしてから実行することもできます。重要な変更点は、 complete
関数を使用する ()
:
_complete : function() {
if (this.options.complete) {
this.options.complete(); // execute the input function
}
}
その関数の結果をコンソールに記録したい場合は、次のことを確認してください。 complete
値を返します:
complete : function() { return $('.gridrow').css('background-color','#FFF'); }
それから:
_complete : function() {
if (this.options.complete) {
console.log(this.options.complete()); // print the result
}
}
所属していません StackOverflow