Оповещение, помещаемое на вход jsfiddle.net, повторяется в любом месте от 3 до 57 раз.Зачем? - PullRequest
0 голосов
/ 23 июня 2011

HTML:

<input>

JavaScript с использованием jQuery:

$('input').focusin(function(){
    alert('input focused')
});

Живая копия на jsFiddle.net

Очень странное поведение: когдаиспользование jQuery для простого оповещения, когда <input> или <textarea> набирает focus, заставляет оповещение повторяться в любом месте от 3 раз до 57 раз.Это случайно, и это без изменения какого-либо кода, иногда он предупреждает 14 или 26 или 35 и т. Д.

Кто-нибудь знает, почему это происходит?Я что-то упустил?

Редактировать: только что понял, что это происходит в Chrome, но Firefox 4 не повторяет предупреждение.

Ответы [ 3 ]

3 голосов
/ 23 июня 2011

Ввод, вероятно, теряет фокус, когда всплывает предупреждение, и восстанавливает его, когда закрывается, вызывая его срабатывание снова.

Попробуйте использовать console.log("input focus"); или любым другим способом, чтобы увидеть событие, не используя оповещение, и посмотрите, не возникла ли проблема.

1 голос
/ 23 июня 2011

Код перехватывает событие focusin, а затем делает что-то, чтобы временно убрать фокус с поля (убрав его из окна). Когда вы отклоняете предупреждение, фокус переходит обратно к окну и полю ... Промыть, повторить.

0 голосов
/ 23 июня 2011

У меня работает нормально, предупреждает только один раз ...

попробовать

console.log('input fired');

вместо предупреждения

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