我试图通过 JS 触发 DOM 元素的悬停,但失败了。看来这是不可能的。但为啥 Chrome 可以做到呢?如何?

Posted

技术标签:

【中文标题】我试图通过 JS 触发 DOM 元素的悬停,但失败了。看来这是不可能的。但为啥 Chrome 可以做到呢?如何?【英文标题】:I'm trying to trigger hover of DOM element by JS, but failed. It seems this is impossible. But why Chrome could do it? How?我试图通过 JS 触发 DOM 元素的悬停,但失败了。看来这是不可能的。但为什么 Chrome 可以做到呢?如何? 【发布时间】:2018-06-13 18:51:30 【问题描述】:

我试图通过 JS 触发 DOM 元素的悬停,但失败了。看来这是不可能的。 我知道有一种方法可以做到这一点,即创建一个具有悬停功能的类并添加/删除该类以实现相同的阶段。 但是为什么 Chrome 可以做到呢?怎么样?

【问题讨论】:

请分享您的代码 【参考方案1】:

你做不到。这不是trusted event。

您可以手动使用类来模拟它。

浏览器可以抛出内部 API/方法。

您可以在 Chrome 开发工具的 source code 中查看此 action。

它是 CSSModel 的触发器 method forcePseudoState

【讨论】:

以上是关于我试图通过 JS 触发 DOM 元素的悬停,但失败了。看来这是不可能的。但为啥 Chrome 可以做到呢?如何?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过将鼠标悬停在Javascript中的三个按钮之一来显示和更新隐藏的div元素?

更改DOM后刷新浏览器悬停效果

Firefox:shadow-DOM 兼容性

单击 div [重复]

JavaEE笔记——JavaScript中对dom的操作

桌面悬停媒体查询不能防止粘滞悬停