Ich habe den folgenden Code, der einfach ein div erzeugt, das beim Überfahren seine Hintergrundfarbe in rot ändern sollte:
Dieser Code scheint in allen Browsern zu funktionieren, in denen ich ihn getestet habe, mit Ausnahme von Google Chrome. Insbesondere habe ich es mit den folgenden Betriebssystemen und Browsern getestet:
Wenn ich jedoch die Funktion setTimeout
entferne, damit die Klasse sofort zum div hinzugefügt wird, funktioniert der Code in allen Browsern wie erwartet.
Warum passiert das? Ist das ein Fehler in Google Chrome oder eine Mehrdeutigkeit in irgendeiner Spezifikation irgendwo, oder ist es etwas anderes?
Es ist definitiv ein Bug in Chrome, Requisiten, um ihn zu finden.
Ich habe es hier eingereicht und in weniger als 24 Stunden wurde es markiert als Duplikat eines anderen Bugs, der ein Duplikat eines anderen Bugs ist, und schlussendlich zurück zu diesem . Es scheint mit einem Namenskonflikt von Konstanten zu tun zu haben, oder zumindest habe ich das gemacht. (Ich habe letzten Abend ziemlich viel Zeit damit verbracht, der Wanzenspur aus reiner Neugierde zu folgen).
Es wurde berichtet, dass dies von behoben wurde , aber ich weiß nicht genug bei Chromium / Chrome Versionierung, um Ihnen zu sagen, wann das Chrome zu einem stabilen Chrome macht.
Inzwischen habe ich festgestellt, dass ein Repaint für das Element erzwungen werden soll, nachdem die :hover
-Regel deklariert wurde. Zum Beispiel: transform:scale(1);
.
Testen Sie, ob der Fehler behoben ist, bis ein korrekter Bugfix zu stabilem Chrome führt:
Tags und Links javascript html css google-chrome css-selectors