JQuery / Javascript вопрос, обработчик клика выполняется асинхронно? - PullRequest
0 голосов
/ 12 ноября 2009

если у меня есть

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

и к обоим прикреплены обработчики кликов, которые делают разные вещи. Гарантируется ли, что обработчик кликов панели будет выполняться только после завершения foo? или они отправлены асинхронно

аналогично ... dostuff () будет выполняться только после завершения обработчиков кликов foo и bar?

Ответы [ 2 ]

1 голос
/ 12 ноября 2009

Модель выполнения Javascript в браузере является однопоточной (по большому счету), поэтому асинхронная диспетчеризация не происходит нигде, кроме HttpXmlRequest.

Таким образом, функция foo click () вернется до вызова bar click (), которая вернется до вызова doStuff ().

1 голос
/ 12 ноября 2009

Это зависит от того, что делает foo (технически вы можете настроить foo на запуск событий, используя setTimeout, который может сработать после завершения метода), но yes должен срабатывать после завершения foo.

...