Acabo de notar que recibo toneladas de advertencias obsoletas en la última versión (canaria) de Chrome.
event.layerX y event.layerY están rotos y en desuso en WebKit. Serán retirados del motor en un futuro próximo.
Parece que jQuery está arruinando las cosas.
Estoy usando: jquery-1.6.1.min.js
.
¿Sería útil actualizar a la última versión de jQuery o aún no está solucionado o es un error de Chrome o es otra cosa?
PD
No puedo mostrarle el código porque creo que es un error general, pero sospecho que se emiten advertencias cuando intento acceder a un objeto jQuery o cuando jQuery intenta acceder a la capaX / capaY (bueno, estoy bastante seguro de que ese es el caso teniendo en cuenta el error: P)
jQuery probablemente copia esas propiedades en el objeto jQuery.
Entonces...
¿Que esta pasando?
EDITAR
jQuery 1.7 está fuera y soluciona este problema.
Lea más en su blog, aquí .
fuente
@
para suprimir errores.layerX
ylayerY
, al menos hasta que lo consideren más detenidamente. También vale la pena señalar que IE agregó recientementelayerX
ylayerY
después de no tenerlo hasta la versión 9. Supongo que estas propiedades no desaparecerán, al menos hasta que haya un reemplazo W3C adecuado, que no será pronto. Las advertencias se han ido en versiones recientes de WebKit.Respuestas:
¿¡Que esta pasando!?
"jQuery probablemente copia esas propiedades en el objeto jQuery". Estás exactamente en lo correcto, ¡así que parece que ya lo sabes! :)
Esperemos que jQuery actualice su código para dejar de tocar eso, pero al mismo tiempo WebKit debería haber sabido mejor que registrar una advertencia de desaprobación en un evento (al menos en mi opinión). Un controlador de mousemove y su consola explota. :)
Aquí hay un boleto jQuery reciente: http://bugs.jquery.com/ticket/10531
ACTUALIZACIÓN: Esto se soluciona ahora si actualiza a jQuery 1.7.
Tenga en cuenta que si la actualización de jQuery no soluciona el problema por usted, puede tener algo que ver con extensiones / complementos usados como Jake declaró en su respuesta .
fuente
http://jsperf.com/removing-event-props/2
La solución temporal es ejecutar este código antes de realizar cualquier enlace de evento a través de jQuery:
ACTUALIZAR
Vea las últimas pruebas de rendimiento para descubrir cuál es la forma más rápida de eliminar los accesorios del evento.
fuente
La solución más corta a esto es esta línea:
fuente
La enorme cantidad de estos mensajes (acabo de recibir 80000 de ellos mientras uso gmail) es de hecho un error en Chrome.
Deberías destacar el tema en Chromium .
fuente
También puede ser causado por extensiones de Chrome, así que verifíquelas si la actualización de jQuery no funciona.
fuente
Aquí hay otra solución de una línea, sin reemplazar la instancia original de $ .event.props (que puede o no ser una matriz), por si acaso :-)
fuente
He usado esto después de llamar a cualquier evento:
Eso funcionó para mí, no tengo mensajes de advertencia desde que hice este parche en mi código.
fuente
Además de los problemas de configuración enumerados en las otras respuestas, este error puede ser provocado por un simple error en su propio código: olvidando el '#' de un selector de jQuery ID.
Tenía un código que parecía
(falta el # delante del "conjunto de datos")
Además de (obviamente) no funcionar, activó este mensaje de error en Chrome.
fuente
Me encontré con este problema en mi propio código. Resulta que estaba iterando sobre todas las propiedades en un objeto de evento como parte de una herramienta de depuración / inspección que estaba usando. En este caso particular, estaba usando $ .extend de jQuery para clonar el objeto para una inspección posterior, pero creo que cualquiera de las técnicas de iteración estándar en los diversos kits de herramientas también habría activado la advertencia.
Lo menciono aquí porque mi pensamiento inicial de simplemente buscar en la base del código las instancias de layerX o layerY no ayudó: la propiedad estaba siendo referenciada genéricamente, no por su nombre.
fuente