首页 >web前端 >css教程 >JavaScript 可以可靠地模拟 CSS :hover 效果吗?

JavaScript 可以可靠地模拟 CSS :hover 效果吗?

Barbara Streisand
Barbara Streisand原创
2024-12-17 13:27:17350浏览

Can JavaScript reliably simulate CSS :hover effects?

在 JavaScript 中模拟鼠标悬停:CSS :hover 的挑战

尝试在 JavaScript 中模拟鼠标悬停事件以激活 CSS ":hover"财产可能具有挑战性,如下所示查询:

问题:

我一直在尝试使用 Chrome 中的鼠标悬停侦听器来模拟鼠标悬停事件,而触发侦听器时,:hover 声明仍然存在。我尝试手动添加“悬停”类,但它未能改变元素的外观是否可以完成。这个?

答案:

不幸的是,这个方法是不可能的。鼠标悬停不是可信事件。

由用户代理生成的事件(无论是作为用户交互的结果还是作为 DOM 更改的直接结果)是由脚本使用 DocumentEvent.createEvent("Event") 方法生成的事件,Event 是可信事件具有未授予使用 .initEvent() 方法修改的事件或使用 EventTarget.dispatchEvent() 方法调度的事件的权限。可信事件的 isTrusted 属性值为 true,不可信事件的 isTrusted 属性值为 false。

大多数不受信任的事件不会触发默认操作,但单击或 DOMActivate 事件除外。

所以你必须手动添加和删除 mouseover/mouseout 事件中的类。

以上是JavaScript 可以可靠地模拟 CSS :hover 效果吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn