Frage:
Ist es möglich, reines JavaScript zu verwenden, um ein CSS nachzuahmen? „:hover“-Effekt, der die zugehörigen CSS-Regeln aktiviert, ohne tatsächlich einen Mouseover auszulösen Ereignis?
Aufgetretene Probleme:
Antwort:
Leider ist die Simulation eines echten Mouseover-Ereignisses in reinem JavaScript aufgrund der Natur vertrauenswürdiger Ereignisse nicht möglich.
In Webbrowsern gelten bestimmte Ereignisse, beispielsweise solche, die durch Benutzerinteraktion ausgelöst werden, als vertrauenswürdig. Umgekehrt sind von JavaScript generierte Ereignisse wie das, das Sie simulieren möchten, nicht vertrauenswürdig. Nicht vertrauenswürdige Ereignisse können bestimmte Aktionen nicht ausführen, einschließlich der Auslösung von Standardaktionen für die meisten HTML-Elemente (z. B. den Hover-Effekt).
Lösung:
Die einzig praktikable Option ist manuell Verwalten Sie den Hover-Effekt, indem Sie mithilfe der Ereignis-Listener „Mouseover“ und „Mouseout“ eine Klasse zum Zielelement hinzufügen bzw. entfernen. Hier ist ein Beispiel:
const hoverElement = document.querySelector("selector"); hoverElement.addEventListener("mouseover", () => { hoverElement.classList.add("hover"); }); hoverElement.addEventListener("mouseout", () => { hoverElement.classList.remove("hover"); });
Das obige ist der detaillierte Inhalt vonKann JavaScript einen CSS-:Hover-Effekt wirklich ohne Mausinteraktion simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!