0

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');}

しかし、私が本当に望んでいるのは、実際にそれをコードに適用して、gridrow クラスの背景色を変更することです。

何でも渡してコンソールに出力できますが、実際にページに適用するにはどうすればよいですか?

4

1 に答える 1

1

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
        }
    }
于 2010-12-31T19:26:05.147 に答える