Является ли event.preventDefault отменой событий изменений? - PullRequest
2 голосов
/ 01 июня 2010

У меня есть определенная ситуация, которую я хочу прояснить для себя, и я был бы рад, если кто-нибудь имеет какой-либо опыт с этой проблемой и желает объяснить ее мне.

У меня есть текстовое поле с обработчиком событий change:

textarea.bind('change', function(event){
    // do something
});

Гипотетически, что если у меня есть какой-то обработчик события щелчка, который перехватывает все щелчки пользователя:

$(document).bind('click', function(event){
    event.preventDefault();
});

Будет ли этот обработчик также отменять события blur и change для текстовой области, если пользователь щелкает ее мышью? И если это произойдет, как я могу предотвратить это?

Обновление: Спасибо за ваши ответы, я не могу сказать, что пробовал, но у меня похожая ситуация, и я пытаюсь исключить возможности, почему change не запускает мою текстовую область , В моем случае есть обработчик change, который не работает, если я щелкаю область, в которой все события click по умолчанию запрещены и заменены пользовательским поведением.

Ответы [ 3 ]

3 голосов
/ 01 июня 2010

Нет, это только предотвратит поведение браузера по умолчанию для события click.

0 голосов
/ 01 июня 2010

Гипотетически, что если вы только что попробовали это? (ответ: это не произойдет, как было сказано прямо передо мной)

Если вы не хотите, чтобы пользователи могли оставлять поле ввода (что звучит для меня как странное взаимодействие с пользователем), вы можете просто установить фокус после события blur / change - возможно, вы захотите нужен маленький тайм-аут, чтобы событие закончилось первым. Я бы не советовал, но это всегда стоит попробовать .

0 голосов
/ 01 июня 2010

Нет, не будет.

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