我有一些 CSS 菜单在我的网站,扩展与 :hover
(没有 js)
这在苹果设备上以一种半破碎的方式工作,例如,点击将激活 :hover
规则并扩展菜单,但是点击其他地方并不会删除 :hover
。此外,如果元素内部有一个链接是 :hover
‘ ed,你必须点击两次才能激活链接(第一次点击触发 :hover
,第二次点击触发链接)。
通过绑定 touchstart
事件,我已经能够在 iphone 上很好地工作了。
问题是,有时候移动 Safari 仍然选择从我的 touchstart
事件的 css取而代之触发 :hover
规则!
我知道这是一个问题,因为当我在 css 中手动禁用所有的 :hover
规则时,移动 Safari 工作得很好(但是普通的浏览器显然不再这样做了)。
当用户使用移动 Safari 时,是否有办法动态地“取消”某些元素的 :hover
规则?
点击这里查看并比较 iOS 的行为: < a href = “ http://jsfiddle.net/74s35/3/”rel = “ norefrer”> http://jsfiddle.net/74s35/3/ 注意: 只有一些 css 属性会触发双击行为,例如: display: none; 但不会触发背景: red; 或文本修饰: underline;