Wenn Sie $(...your selector here...).is(":hover")
ausführen, gibt jQuery vor 1.9.1 die richtige Antwort, während jQuery 1.9.1 Ihnen Folgendes sagt:
Fehler: Syntaxfehler, nicht erkannter Ausdruck: nicht unterstützter Pseudo:
hover
Hier ist eine Problemumgehung (Antwort nicht notwendig.)
kurze Antwort, überprüfen Sie, ob
%Vor%hat die Länge 1 und enthält das betreffende Element.
Es handelt sich nicht darum, eine Aktion über den HOVER auszuführen - dafür verwenden Sie einfach .hover () DARÜBER HINAUS, ZU EINEM ARBITRARPUNKT IN DER ZEIT, FINDEN SIE HERAUS, OB EIN ELEMENT VERSCHIEDEN IST ODER NICHT
Die obige Problemumgehung ist jedoch ungeeignet, wenn Sie Elemente, die jQuery.fn.is () verwenden, mit einem zusammengesetzten Selektor vergleichen, der vorher nicht bekannt ist und der mehreren Elementen im übergeordneten Container entsprechen kann.
Beispiel wird die gleiche Ausnahme ausgelöst, wenn selector in style_get () unten ist gleich: ".mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer: schweben .mCSB_dragger .mCSB_dragger_bar"
.. weil Hover nicht in Sizzle.selectors.pseudos oder Sizzle.selectors.setFilters (jquery-2.1.4, Zeile 1764) definiert ist.
%Vor%Versuchen Sie, anonyme Funktion in .filter ()
zu gebenIch denke, meine Lösung wird Ihnen helfen:
%Vor%Auch können Sie mein GitHub-Thema sehen: Ссылка