He notado un extraño problema con la forma en que Chrome maneja el evento de javascript focus. El hecho es que activa continuamente el evento de enfoque, incluso si ocurre solo una vez. Investigué aquí y encontré preguntas en las que las personas se encuentran con el mismo problema cuando usan alert(). Cuando cierran la ventana de alerta, el foco vuelve a sus entradas y un controlador se dispara una y otra vez. En mi caso, el problema es diferente, ya que estoy usando console.log(), y de vez en cuando obtengo el mismo log 2 o incluso 3 veces. Me di cuenta de que generalmente sucede cuando borro la consola y luego me concentro en un elemento. Cuando trato de repetirlo, ya no ocurre.Google Chrome duplica el evento 'focus' de JavaScript
El escenario:
- consola Claro
- Focus sobre el elemento (2 o 3 mensajes de la consola)
- centrarse en otras elemento idéntico o unfocus y centrarse de nuevo en el mismo (no hay problemas)
- Claro consola
- Enfoque en el elemento (2 o 3 mensajes de la consola - el problema es posterior)
He creado un jsFiddle, por favor echa un vistazo: http://jsfiddle.net/ffuWT/3/
La pregunta es, ¿cuál es la razón de este problema y cómo puedo trabajar alrededor de ella?
Funciona como esperaba (no como usted lo describe), ejecutando Chrome 17.0.963.78 m – m90
No soy capaz de recrear su problema, y no veo cómo borrar la consola en '# 4' haría crear un problema con los eventos disparando dos veces? ¿Has intentado evitar que el evento burbujee en tu función? Intente agregar 'e.stopPropagation()' –
. Puedo recrear el problema. 'e.stopPropagation' no lo resuelve por mí. –