Firefox RDM Touch Simulation 不模拟悬停?

Firefox RDM Touch Simulation doesn't simulate hover?

在移动设备上使用 Firefox 时,触摸元素会触发 :hover 伪 class。但是,当在响应式设计模式下在 PC 上使用 Firefox 并激活触摸模拟时,:hover 不会通过在元素上单击鼠标按钮来触发。如果我关闭 Touch Simulation,那么将鼠标悬停在元素上当然会激活 :hover,但 Touch Simulation 的目的不是将鼠标输入转换为相应的触摸事件吗?如果在移动浏览器上触摸某个元素会激活 :hover,那么在 Touch Simulation 中单击鼠标不应该也会触发 :hover 吗?

Simple JSFiddle to illustrate - 在 RDM 中的 PC Firefox 和移动 Firefox 上查看差异。

是我做错了什么,还是 Firefox RDM 或我对 Touch Simulation 的理解有缺陷?

正如你所说,:hover :focus :active 是伪classes,根据这个 link from mozilla :hover matches当用户使用定点设备与元素交互并且在触摸屏上出现问题时。我们可以使用 :active 伪 class 在触摸屏中实现相同的效果 :hover。或者两者兼而有之。

如您所说,:hover class 的触摸模拟在 Firefox 中不起作用。没有承诺在未来支持它。触摸和指点设备的工作方式非常不同,因此最好不要使用需要指针位置才能激活的 :hover。另一方面触摸屏没有触摸前的位置记录,所以:focus:active是更好的选择。

如果对您有所帮助,我将不胜感激。谢谢。