私はajaxとasp.netを使用しています。iIには、他の多くのJavaScript関数をsetTimeoutで作成するJavaScript関数があります。非同期ポストバックが発生した後、これらすべてのsetTimeoutedイベントを無効にします。どうやってやるの?
を呼び出すときにsetTimeout()
、タイマーIDを保存して、クリアできるようにします。多数のタイムアウトを作成する場合、配列はIDを格納するための適切なオプションです。例えば:
var timeouts = [];
//then, store when you create them
timeouts.push( setTimeout( { ... }, 1000) );
次に、それらをクリアしたい場合:
for (var i = 0; i < timeouts.length; i++) {
clearTimeout(timeouts[i]);
}
//quick reset of the timer array you just cleared
timeouts = [];
以下のよう@Robertは下記の注意、clearTimeout()
タイムアウトが既に発生している場合はエラーをスローし、そうここにはレース/タイミングの問題はありませんではないでしょう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加