質問

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
        }
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top