触摸设备HTML元素:悬停状态

| 有一个带有3个背景的HTML按钮-每个背景均处于正常,悬停和单击状态。当然,在非触摸设备上也可以正常工作。如果在触摸设备上单击按钮,则:hover状态也会被触发并保持到触摸另一个元素为止。 是否可以通过编程方式从元素上单击:hover状态,然后单击它或阻止其在触摸设备上激活? 抱歉,但是不建议您检测鼠标悬停和鼠标移出事件并添加人工类。 一种可能的解决方案是预先将“ no-touch \”类添加到html元素,如果仅检测到触摸设备,则将其删除。在这种情况下,CSS选择器\“ html.no-touch button:hover \”与触摸设备不匹配。 您知道您可能会建议的更优雅的解决方案吗?     
已邀请:
我会尝试在手持设备的其他样式表中覆盖“ 0”状态,例如:
<link rel=\"stylesheet\" type=\"text/css\" href=\"handheld.css\" media=\"handheld\">
并在
handheld.css
中输入:
#some_selector:hover {
    background: none;    /* if you are setting a background in the main css file for example */
}
但是,我不确定
handheld
和触摸屏是否完全相同,可能是有些设备带有触摸屏并且不具备手持设备的资格。 编辑:看来您无法100%可靠地检测到触摸屏设备,也看到了这个问题。     
似乎可以通过覆盖媒体查询中给定元素的:hover状态来解决此问题-参见以下问题: CSS悬停在触摸屏设备上不会被忽略     

要回复问题请先登录注册