Google Chrome дублирует событие фокуса JavaScript

Я заметил странную проблему с тем, как Chrome обрабатывает событие фокуса javascript. Дело в том, что он постоянно вызывает событие фокуса, даже если оно происходит только один раз. Я провел здесь небольшое исследование и нашел вопросы, в которых люди сталкиваются с одной и той же проблемой при использовании alert(). Когда они закрывают окно предупреждения, фокус возвращается к их вводам, и обработчик срабатывает снова и снова. В моем случае проблема в другом, так как я использую console.log(), и время от времени я получаю один и тот же лог 2 или даже 3 раза. Я заметил, что обычно это происходит, когда я очищаю консоль, а затем фокусируюсь на элементе. Когда я пытаюсь это повторить, этого больше не происходит.

Сценарий:

  1. Очистить консоль
  2. Сфокусироваться на элементе (2 или 3 консольных сообщения)
  3. Сфокусироваться на другом идентичном элементе или расфокусировать и снова сфокусироваться на тот же (без проблем)
  4. Очистить консоль
  5. Фокус на элементе (2 или 3 сообщения консоли - проблема вернулась!)

Я создал jsfiddle, пожалуйста, проверьте его: http://jsfiddle.net/ffuWT/3/

Вопрос в том, в чем причина этой проблемы и как ее обойти?

5
задан noname 13 March 2012 в 08:25
поделиться