Как я могу предотвратить обработчики событий для обработки нескольких событий одновременно в JavaScript? - PullRequest
1 голос
/ 26 января 2012

Как мне запретить JavaScript обрабатывать два события одновременно?У меня есть объявленный обработчик событий, такой как document.addEventListener('keydown',function(e) {},false), в этом случае я не хочу, чтобы обработчик обрабатывал какие-либо события, пока он не закончил с текущим.

Ответы [ 2 ]

3 голосов
/ 26 января 2012

Javascript является однопоточным, поэтому обработка текущего события завершится до того, как будет запущено следующее событие. Вам не нужно ничего делать, чтобы гарантировать, что одновременно обрабатывается только одно событие.

Вы можете узнать больше об этой теме из этих других сообщений:

Как JavaScript обрабатывает ответы AJAX в фоновом режиме? (описывает, как работают очереди событий в javascript)

Могут ли обработчики событий JS прервать выполнение другого обработчика?

Условия гонки с обработкой событий JavaScript?

0 голосов
/ 26 января 2012

Нет ничего, кроме одновременной обработки событий.Порядок событий зависит от того, какой браузер используется.Вы сами решаете, как зарегистрировать событие в модели захвата или всплытия или использовать оба тезиса в модели w3c.

Например, в модели W3c любое событие, имеющее место в модели W3c, регистрируется до достижения целии затем он начинает пузыриться снова.

Вы можете зарегистрировать свое событие либо в фазе захвата, либо в виде пузырьков, используя метод addEventListner ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...