Heim >Web-Frontend >CSS-Tutorial >Kann JavaScript CSS-:Hover-Effekte zuverlässig simulieren?

Kann JavaScript CSS-:Hover-Effekte zuverlässig simulieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-17 13:27:17299Durchsuche

Can JavaScript reliably simulate CSS :hover effects?

Mouseover in JavaScript simulieren: Herausforderungen mit CSS :hover

Versuch, ein Mouseover-Ereignis in JavaScript zu simulieren, um das CSS „:hover“ zu aktivieren Immobilien können eine Herausforderung darstellen, wie das Folgende zeigt Abfrage:

Frage:

Ich habe versucht, ein Mouseover-Ereignis mithilfe eines Mouseover-Listeners in Chrome zu simulieren. Während der Listener ausgelöst wird, bleibt die :hover-Deklaration bestehen inaktiv. Ich habe versucht, manuell eine „Hover“-Klasse hinzuzufügen, aber das Erscheinungsbild des Elements konnte nicht geändert werden das?

Antwort:

Diese Methode ist leider nicht möglich. Mouseover ist kein vertrauenswürdiges Ereignis.

Vom Benutzeragenten generierte Ereignisse (entweder als Ergebnis einer Benutzerinteraktion oder als direkte Folge von DOM-Änderungen) sind Ereignisse, die von Skripten mit der Methode DocumentEvent.createEvent("Event") generiert werden, Ereignis Ein vertrauenswürdiges Ereignis das über Berechtigungen verfügt, die nicht für Ereignisse gewährt werden, die mit der Methode .initEvent() geändert wurden, oder für Ereignisse, die mit der Methode EventTarget.dispatchEvent() ausgelöst wurden. Das Attribut „isTrusted“ von vertrauenswürdigen Ereignissen hat den Wert „true“ und das Attribut „isTrusted“ von nicht vertrauenswürdigen Ereignissen hat den Wert „false“.

Die meisten nicht vertrauenswürdigen Ereignisse lösen keine Standardaktion aus, mit Ausnahme von Click- oder DOMActivate-Ereignissen.

Sie müssen also Klassen in Mouseover-/Mouseout-Ereignissen manuell hinzufügen und entfernen.

Das obige ist der detaillierte Inhalt vonKann JavaScript CSS-:Hover-Effekte zuverlässig simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn