2011-07-14 17 views
-1

X = 10、次いでdoSomethingの(やるかどうかのグローバル変数をある値に達したとき、例えば、JavaScriptの方法を実行しなければなりません)。非同期要求が成功するたびに、変数を複数の場所から増やすことができます。javaScriptどのように条件を実行するのですか?

+2

をトリガするために、このフィールドにonchangeイベントを適用することができますか? – Vithozor

+0

これは基本的にあなたがより少ない時間前聞かれる質問と同じではありませんか? http://stackoverflow.com/questions/6690675/how-to-handle-event-in-javascript-jquery –

+0

@JamesAllardiceはい、それは閉鎖されました。 –

答えて

0

JavaScriptは、あなたがポーリングに依存する必要があり、ネイティブデータバインディング機能を提供していません:私はそれぞれ100ミリ秒に実行される関数を定義した上記のコードでは

globalVar = 0; 

setInterval(function(){ 

if (globalVar >= 10) { 
    globarVarChangeHandler(); 
} 

}, 100); 

とglobalVarは最小に達している場合仮想的なglobarVarChangeHandler()が呼び出されます。

+0

Yuck、変数変更のためのポーリング?これを使わないでください。 –

2

任意のタイマまたはポーリングなしソリューション:

var X = { // global variable 
    value: 0, 
    set: function(v) { 
      X.value = v; 
      if (X.value == 10) { 
       // do what you like, e.g. 
       alert("X == 10"); 
      } 
      } 
}; 

X.set(3); 
X.set(X.value + 7); // "do what you like" gets executed 
+0

いいアイデア:-) –

0

代わりにあなたが(display:noneで)inputテキストフィールドを使用して、このフィールドの値を更新していけない理由は、グローバル変数を使用します。 Theanあなたはいくつかのコードを投稿することができ、あなたのdoSomething()方法

+0

うまくいくかもしれませんが、DOM要素は必要ありません。それは残酷です –

関連する問題