2012-03-05 11 views
1

私のページには、基礎となるデータの表現が異なるいくつかの要素があります。私はPHPページを通してデータを更新するAJAXを持っていますが、変更を反映するために、すべての異なる要素の更新をトリガーしたいと思います。カスタムイベントのトリガーを自動化する方法はありますか?

独立した要素をカスタムイベント "PageUpdate"にバインドして、何かが変更された場合、すべての要素を更新するために1つのイベントを発生させることを考えています。

他のイベントがトリガされたときにカスタムイベントが常にトリガされるように自動化する方法があるかどうかを知りたいですか?または、私は "PageUpdate"をトリガーしたい他のすべてのイベントに$.trigger("PageUpdate")を入れなければなりませんか?さらに、これがトリガーされたときにイベントに基づいてフィルタリングすることはできますか?すべてのイベントが完全なページ更新を必要とするわけではありません。

最終目標に戻って.trigger()の呼び出しを古いコードに入れて、それを作成して今後のすべてのイベントで覚えておく必要はありません。

+0

setInterval()を使用して変更をポーリングし、変更が行われたかどうか評価できますか? –

+0

私はいくつかのイベントメソッドをオーバーライドしなければならないと思う、さらにカスタムイベントを追加します。しかし、PageUpdateイベントが他のすべてのイベントでトリガーされるのはなぜですか? –

+0

@MildFuzzポーリングにはAJAXコールが必要で、ユーザーが実際に何かをするまではポーリングは必要ありません。また、ユーザーに応答しているようにインターフェースを作成したいと考えています。 – Chris

答えて

0

すべてのイベントにイベントハンドラをバインドする方法については、このページを参照してください - All events example

次に、あなたはおそらく、あなたのカスタムイベントは、そのイベントハンドラでトリガ/呼び出すことができます。おそらく、イベントハンドラ関数に渡されたeオブジェクトを見て、イベントをフィルタリングすることもできます。