Can JavaScript reliably simulate CSS :hover effects?
Simulating Mouseover in JavaScript: Challenges with CSS :hover
Attempting to simulate a mouseover event in JavaScript to activate the CSS ":hover" property can prove challenging, as demonstrated by the following query:
Question:
I've been attempting to simulate a mouseover event using a mouseover listener in Chrome. While the listener is triggered, the :hover declaration remains inactive. I tried manually adding a "hover" class, but it failed to alter the element's appearance. Is it possible to accomplish this?
Answer:
Unfortunately, this method is not possible. Mouseover is not a trusted event.
Events generated by the user agent (either as a result of user interaction or as a direct result of DOM changes) are events generated by scripts with the DocumentEvent.createEvent("Event") method, Event A trusted event that has privileges not granted to events modified with the .initEvent() method or events dispatched with the EventTarget.dispatchEvent() method. The isTrusted attribute of trusted events has a value of true, and the isTrusted attribute of untrusted events has a value of false.
Most untrusted events do not trigger a default action, with the exception of click or DOMActivate events.
So you have to manually add and remove classes in mouseover/mouseout events.
The above is the detailed content of Can JavaScript reliably simulate CSS :hover effects?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

One thing that caught my eye on the list of features for Lea Verou's conic-gradient() polyfill was the last item:

Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML

The inline-template directive allows us to build rich Vue components as a progressive enhancement over existing WordPress markup.

PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case. Let’s look at how PHP projects can enforce a basic

Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to
