Je viens de remarquer que je reçois des tonnes d'avertissements obsolètes dans la dernière version (canari) de Chrome.
event.layerX et event.layerY sont rompus et obsolètes dans WebKit. Ils seront retirés du moteur dans un avenir proche.
On dirait que jQuery fout les choses.
J'utilise: jquery-1.6.1.min.js
.
Cela aiderait-il à passer à la dernière version de jQuery ou n'est-il pas encore corrigé ou s'agit-il d'un bogue Chrome ou s'agit-il d'autre chose.
PS
Je ne peux pas vous montrer de code car je pense que c'est une erreur générale, mais je soupçonne que les avertissements sont lancés lorsque j'essaie d'accéder à un objet jQuery ou lorsque jQuery essaie d'accéder au layerX / layerY (eh bien je suis sûr que c'est le cas compte tenu de la erreur: P).
jQuery copie probablement ces propriétés dans l'objet jQuery.
Donc...
Que se passe-t-il?
ÉDITER
jQuery 1.7 est sorti et résout ce problème.
En savoir plus sur leur blog, ici .
la source
@
pour supprimer les erreurs.layerX
etlayerY
, au moins jusqu'à ce qu'il y réfléchisse plus attentivement. Il convient également de noter qu'IE a récemment ajoutélayerX
etlayerY
après ne l'avoir pas jusqu'à la version 9. Je suppose que ces propriétés ne disparaissent pas - au moins jusqu'à ce qu'il y ait un remplacement W3C approprié, qui ne sera pas bientôt. Les avertissements ont disparu dans les versions récentes de WebKit.Réponses:
Que se passe-t-il!?
"jQuery copie probablement ces propriétés dans l'objet jQuery." Vous avez exactement raison, il semble donc que vous le sachiez déjà! :)
J'espère que jQuery mettra à jour leur code pour ne plus y toucher, mais en même temps WebKit aurait dû savoir mieux que de consigner un avertissement de dépréciation sur un événement (du moins à mon avis). Un gestionnaire de déplacement de souris et votre console explosent. :)
Voici un billet jQuery récent: http://bugs.jquery.com/ticket/10531
MISE À JOUR: Ceci est résolu maintenant si vous mettez à niveau vers jQuery 1.7.
Veuillez noter que si la mise à niveau de jQuery ne résout pas le problème pour vous, cela peut avoir quelque chose à voir avec les extensions / plugins utilisés comme Jake l'a déclaré dans sa réponse .
la source
http://jsperf.com/removing-event-props/2
Le correctif temporaire consiste à exécuter ce code avant d'effectuer une liaison d'événement via jQuery:
MISE À JOUR
Consultez les derniers tests de performances pour savoir quel est le moyen le plus rapide de supprimer les accessoires d'événement.
la source
La solution la plus courte à ce problème est cette doublure:
la source
L'énorme quantité de ces messages (je viens d'en recevoir 80000 en utilisant gmail) est en effet un bug dans Chrome.
Vous devriez lancer le problème sur Chrome .
la source
Cela peut également être causé par des extensions Chrome, alors vérifiez-les si la mise à jour jQuery ne fonctionne pas.
la source
Voici un autre correctif d'une ligne, sans remplacer l'instance d'origine de $ .event.props (qui peut ou non être un tableau), juste au cas où :-)
la source
Je l'ai utilisé après avoir appelé n'importe quel événement:
Cela a fonctionné pour moi, je n'ai aucun message d'avertissement depuis que j'ai fait ce patch sur mon code.
la source
En plus des problèmes de configuration répertoriés dans les autres réponses, cette erreur peut être déclenchée par une simple erreur dans votre propre code: oublier le «#» dans un sélecteur d'ID jQuery.
J'avais un code ressemblant
(manque le # devant le "datenotset")
En plus (évidemment) de ne pas fonctionner, il a déclenché ce message d'erreur dans Chrome.
la source
J'ai rencontré ce problème dans mon propre code. Il s'avère que je parcourais toutes les propriétés d'un objet événement dans le cadre d'un outil de débogage / inspection que j'utilisais. Dans ce cas particulier, j'utilisais $ .extend de jQuery pour cloner l'objet pour une inspection ultérieure, mais je pense que l'une des techniques d'itération standard dans les différentes boîtes à outils aurait également déclenché l'avertissement.
Je le mentionne ici parce que ma pensée initiale de simplement rechercher dans la base de code des instances de layerX ou layerY n'a pas aidé - la propriété était référencée de manière générique, pas par son nom.
la source