相关疑难解决方法(0)

如何防止触摸设备上按钮的粘滞悬停效果

我创建了一个带有前一个和下一个按钮的旋转木马,它们始终可见.这些按钮具有悬停状态,它们变为蓝色.在触控设备(如iPad)上,悬停状态是粘性的,因此按下按钮后按钮会保持蓝色.我不希望这样.

  • 我可以为每个按钮添加一个no-hoverontouchend,并使我的CSS像这样:button:not(.no-hover):hover { background-color: blue; }但这可能对性能非常不利,并且不能正确处理Chromebook Pixel(同时具有触摸屏和鼠标)等设备.

  • 我可以添加一个touchdocumentElement,并使我的CSS像这样:html:not(.touch) button:hover { background-color: blue; }但这也不适用于同时具有触摸和鼠标的设备.

我更喜欢的是删除悬停状态ontouchend.但这似乎不太可能.聚焦另一个元素不会消除悬停状态.手动点击另一个元素,但我似乎无法在JavaScript中触发它.

我发现的所有解决方案似乎都不完美.有完美的解决方案吗?

javascript css hover touch

130
推荐指数
8
解决办法
10万
查看次数

标签 统计

css ×1

hover ×1

javascript ×1

touch ×1