0

私が持っている場合

$("a#foo").click();
$("a#bar").click();
dostuff();

両方とも、異なることを行うクリック ハンドラーがアタッチされています。バーのクリック ハンドラーは、foo の完了後にのみ実行されることが保証されていますか? またはそれらは非同期にディスパッチされます

同様に.. dostuff() は foo と bar のクリックハンドラが完了した後にのみ実行されますか?

4

2 に答える 2

1

ブラウザのJavascript実行モデルは(概して)シングルスレッドであるため、HttpXmlRequestなどの外部で非同期ディスパッチが実行されることはありません。

したがって、foo click()関数は、bar click()が呼び出される前に戻り、doStuff()が呼び出される前に戻ります。

于 2009-11-12T07:36:22.763 に答える
1

fooの動作によって異なりますが(技術的には、メソッドの完了後に起動できるsetTimeoutを使用してイベントを起動するようにfooを設定できます)、はい、fooの完了後に起動する必要があります。

于 2009-11-12T01:59:55.093 に答える