Mir ist gerade aufgefallen, dass ich in der neuesten (kanarischen) Version von Chrome unzählige veraltete Warnungen erhalte.
event.layerX und event.layerY sind in WebKit fehlerhaft und veraltet. Sie werden in naher Zukunft vom Motor entfernt.
Sieht so aus, als würde jQuery alles vermasseln.
Ich benutze : jquery-1.6.1.min.js
.
Würde es helfen, auf die neueste jQuery-Version zu aktualisieren, oder ist es noch nicht behoben oder handelt es sich um einen Chrome-Fehler oder um etwas anderes?
PS
Ich kann Ihnen keinen Code anzeigen, da ich denke, dass es sich um einen allgemeinen Fehler handelt, aber ich vermute, dass die Warnungen ausgegeben werden, wenn ich versuche, auf ein jQuery-Objekt zuzugreifen, oder wenn jQuery versucht, auf layerX / layerY zuzugreifen (nun, ich bin mir ziemlich sicher, dass dies unter Berücksichtigung des Falles der Fall ist Fehler: P).
jQuery kopiert diese Eigenschaften wahrscheinlich in das jQuery-Objekt.
Damit...
Was ist los?
BEARBEITEN
jQuery 1.7 ist nicht verfügbar und behebt dieses Problem.
Lesen Sie hier mehr in ihrem Blog .
quelle
@
Fehler unterdrücken.layerX
undlayerY
zumindest bis sie dies genauer prüfen. Es ist auch erwähnenswert, dass der IE kürzlich hinzugefügt wurdelayerX
undlayerY
nachdem er erst in Version 9 verfügbar war. Ich vermute, dass diese Eigenschaften nicht verschwinden - zumindest bis es einen geeigneten W3C-Ersatz gibt, der nicht bald verfügbar sein wird. Die Warnungen sind in neueren Versionen von WebKit verschwunden.Antworten:
Was ist los!?
"jQuery kopiert diese Eigenschaften wahrscheinlich in das jQuery-Objekt." Du bist genau richtig, also klingt es so, als ob du es bereits weißt! :) :)
Hoffentlich aktualisiert jQuery seinen Code, um ihn nicht mehr zu berühren, aber gleichzeitig hätte WebKit es besser wissen müssen, als eine Verfallswarnung für ein Ereignis zu protokollieren (zumindest meiner Meinung nach). Ein Mausbewegungshandler und Ihre Konsole explodieren. :) :)
Hier ist ein aktuelles jQuery-Ticket: http://bugs.jquery.com/ticket/10531
UPDATE: Dies ist jetzt behoben, wenn Sie auf jQuery 1.7 aktualisieren.
Bitte beachten Sie, dass ein Upgrade von jQuery das Problem möglicherweise nicht mit den verwendeten Erweiterungen / Plugins zu tun hat, wie Jake in seiner Antwort angegeben hat .
quelle
http://jsperf.com/removing-event-props/2
Die vorübergehende Korrektur besteht darin, diesen Code auszuführen, bevor Sie eine Ereignisbindung über jQuery durchführen:
AKTUALISIEREN
Sehen Sie sich die neuesten Leistungstests an, um herauszufinden, wie Sie die Event-Requisiten am schnellsten entfernen können.
quelle
Die kürzeste Lösung hierfür ist dieser Einzeiler:
quelle
Die enorme Menge dieser Nachrichten (ich habe gerade 80000 davon bei der Verwendung von Google Mail erhalten) ist in der Tat ein Fehler in Chrome.
Sie sollten das Problem auf Chromium markieren .
quelle
Dies kann auch durch Chrome-Erweiterungen verursacht werden. Überprüfen Sie diese, ob das jQuery-Update nicht funktioniert.
quelle
Hier ist eine weitere einzeilige Korrektur, ohne die ursprüngliche Instanz von $ .event.props (die ein Array sein kann oder nicht) zu ersetzen, nur für den Fall :-)
quelle
Ich habe dies verwendet, nachdem ich ein Ereignis aufgerufen habe:
Das hat bei mir funktioniert, ich habe keine Warnmeldungen, seit ich diesen Patch auf meinem Code gemacht habe.
quelle
Neben den in den anderen Antworten aufgeführten Konfigurationsproblemen kann dieser Fehler durch einen einfachen Fehler in Ihrem eigenen Code ausgelöst werden: Vergessen des '#' in einem jQuery ID-Selektor.
Ich hatte Code, der aussah wie
(das # vor dem "Datenotset" fehlt)
Diese Fehlermeldung wurde nicht nur (offensichtlich) nicht ausgeführt, sondern auch in Chrome ausgelöst.
quelle
Ich bin in meinem eigenen Code auf dieses Problem gestoßen. Es stellte sich heraus, dass ich im Rahmen eines von mir verwendeten Debugging- / Inspektionstools alle Eigenschaften eines Ereignisobjekts durchlaufen habe. In diesem speziellen Fall habe ich jQuerys $ .extend verwendet, um das Objekt für eine spätere Überprüfung zu klonen, aber ich glaube, dass jede der Standard-Iterationstechniken in den verschiedenen Toolkits die Warnung ebenfalls ausgelöst hätte.
Ich erwähne es hier, weil mein anfänglicher Gedanke, die Codebasis einfach nach Instanzen von LayerX oder LayerY zu durchsuchen, nicht geholfen hat - die Eigenschaft wurde generisch und nicht namentlich referenziert.
quelle