2

グリッドを追跡するためにユーザーのアクションで継続的に変化するオブジェクトがあるので、オブジェクトが変化するとすぐにイベントをトリガーできると思いましたか? これができることはわかっていますが、オブジェクトにイベントを登録せず、オブジェクトが変更されるとすぐに、オブジェクトの状態を処理する関数を呼び出すイベントをトリガーできますか?

私が思いついたものは機能しますが、オブジェクトを変更するたびに手動でトリガーする必要があります。そこに座ってオブジェクトが変更されるのを待ち、それに基づいて行動できますか?

 $( requestProcessStatus ).trigger ("valueChanged"); // trigger this each time object changes` 

$( requestProcessStatus ).bind("valueChanged", function() {
console.log("object changed");
}); // do whatever in here 


 requestProcessStatus : {
    RequestNumber : '',
    ProcessStatus : '',
    LoanTrackingInfo : [
      LocalNumber: '',
      ProcessStatus: ''
    ]
},

私はこのオブジェクトを持っており、ユーザーがテキストボックスに LocalNumber を入力するとすぐにajaxリクエストを起動し、応答が成功した場合、LoantrackingInfo 配列に LocalNumber と processStatus= Success が入力され、無限にスケールアップできます。オブジェクトが変更されるとすぐに、すべてのローカル番号とそれに対応するステータスをグリッドに表示するグリッドにそれらの変更を反映したいですか?

オブジェクトの変更イベントをリッスンすることは可能ですか?

4

2 に答える 2

5

メソッド内に「set + trigger」をラップできます。

requestProcessStatus.setVal = function( attr, value ){
   this[attr] = value;
   $(this).trigger('valueChanged');
}

明らかに、イベントを常にトリガーしたい場合は、このメソッドを介してのみオブジェクトを変更する責任があります...

于 2013-10-09T15:10:57.797 に答える