我已经创建了一个 carousel ,其中的"上一步"和"下一步"按钮始终可见.这些按钮处于悬停状态,它们会变成蓝色.在像iPad这样的触控设备上,悬停状态是粘滞的,所以按钮在点击后仍然是蓝色的.我不想这样.
我可以 for each 按钮添加一个
no-hover
类ontouchend
,并使 我的CSS是这样的:button:not(.no-hover):hover { background-color: blue; }
,但这可能对性能很不好,而且不会 处理Chromebook Pixel等设备(它既有 touch 屏和鼠标).我可以在
documentElement
上加一个touch
类,然后把我的CSS 像这样:html:not(.touch) button:hover { background-color: blue; }
,但这也不能在同时具有touch 屏和键盘的设备上正常工作 老鼠.
我更喜欢的是取消悬停状态ontouchend
.但这似乎不可能.聚焦另一个元素不会移除悬停状态.手动点击另一个元素可以,但我似乎无法在JavaScript中触发它.
我找到的所有解决方案似乎都不完美.有没有完美的解决方案?