1
var checkTextValue = setTimeout(function() {
var textVal = $('p').text();
if (textVal == 'expectedValue'){
    callback();
} else {
    setTimeout(arguments.callee, 10);
}
},10);

私はこのコードを持っていますが、問題なく動作しますが、問題はFirefoxでページが無限にロードされているように見えることです。

4

3 に答える 3

1

役に立たないように見えます...つまり setTimeout(checkTextValue, 10); です。- あなたはそこに何を設定していますか?checkTextValue は単なるタイムアウト ID であり、他には何もありません...コードに問題があるという理由だけで、FF が無限にロードされる理由がわかりません...

于 2009-10-27T00:18:24.727 に答える
0

それは無限にロードされているからです。基本的に、再帰を行い、10 ミリ秒ごとに別のインスタンスを開始します。十分な時間があれば、このコードでブラウザを強制終了することも可能だと思います。

onchange代わりに、入力フィールドで -eventhandlerを使用してみてください。

于 2009-10-27T00:15:48.177 に答える
-1

再帰のケースだと思います。より多くの手がかりについては、Google 'recusrion' を参照してください。冗談だ。値が「expectedValue」でない限り、checkTextValue は無期限に実行されます。

于 2009-10-27T00:16:42.637 に答える