2010-11-19 5 views
1

私は自分のinitTableStripes関数を用意しています。これは、ドキュメントの準備ができたらすぐに呼びます。AJAXリクエストがテーブルを変更した後、jQueryでどのように関数をトリガできますか?

問題は、AJAXリクエストの後にテーブルを変更したり、新しいテーブルを読み込んだりすると、その関数を再度呼び出す必要があることです。かなりの数のプラグインがあり、他の関数が新しいテーブルを変更したり読み込んだりする可能性があるので、これらの関数のそれぞれでinitTableStripes関数を呼び出す必要はありません。

<tbody>が変更されたとき、または新しいテーブルがロードされたときにテーブルのラッパー<div>の内部htmlが変更されたときにjQueryに機能を発動させる方法はありますか?

次は私が考えていたものです:もちろん

$("tbody").live("change", function (e) { 
    initTableStripes(); 
}); 

「変更」イベントが<input><textarea><select>要素に制限されています。これを達成する簡単な方法はありますか?それとも手動で関数を呼び出すだけですか?

ありがとうございます!

答えて

4

AJAXリクエストが完了したときに実行する関数を登録できます。あなたはそこであなたの再ストライピングロジックを実行することができます。

http://api.jquery.com/ajaxComplete/

+0

+1です。間違いなく私の答えよりこれを扱うより良い方法のように思える。 –

+0

私はこの機能について知りませんでした - ありがとう! –

+0

+1良いもの!私はこの3行のコードをリンクからコピーして答えに貼り付けることをお勧めします。 – alfasin

関連する問題