关于IOS伪类:hover的问题
2012-08-19 23:12
423 查看
近期项目突然遇到导航在iPad上面无法弹出二级菜单的现象,这个BUG让我纠结了好久,因为以前都没遇到过,后来回想下,是不是iPad这些由于触屏的原因,并没有:hover伪类这个效果!经过我几次测试,终于发现BUG所在之处,以及对iPad这些触屏产品有了新的了解。
:hover 在W3C里介绍表示鼠标经过状态,大部分情况下,用于文字连接,在iPad表现为用户点击连接的状态,这里注意的是,根据我的观察,在PC上面鼠标的经过事件(包括JS和CSS),在iPad都表现为用户触摸点击。
表现为点击,那么按照正常的思维,我点击导航,应该会出现二级菜单(JS没问题,但是用CSS伪类li:hover去写的时候出现问题),后来经过我测试,发现,导航如果有a的连接标签(需求方要求这次导航没有连接,无奈啊),那么二级菜单会出现,如果把a标签换成了span,则不会出现。
BUG是解决了,但是原因何在呢?查阅资料也没有特别好的说服,根据我观察,我大胆的猜测,iPad会:hover的处理,应该是点击获取焦点(即 :focus),因为改成span后,li标签不会获得焦点,改成a标签后,焦点停留在a标签上,a标签属于li标签的子元素,即停留在li标签上,于是弹出二级菜单。当然,这个只是我的猜测,若其他同学有任何相关资料,请告知..感激不尽…
:hover 在W3C里介绍表示鼠标经过状态,大部分情况下,用于文字连接,在iPad表现为用户点击连接的状态,这里注意的是,根据我的观察,在PC上面鼠标的经过事件(包括JS和CSS),在iPad都表现为用户触摸点击。
表现为点击,那么按照正常的思维,我点击导航,应该会出现二级菜单(JS没问题,但是用CSS伪类li:hover去写的时候出现问题),后来经过我测试,发现,导航如果有a的连接标签(需求方要求这次导航没有连接,无奈啊),那么二级菜单会出现,如果把a标签换成了span,则不会出现。
BUG是解决了,但是原因何在呢?查阅资料也没有特别好的说服,根据我观察,我大胆的猜测,iPad会:hover的处理,应该是点击获取焦点(即 :focus),因为改成span后,li标签不会获得焦点,改成a标签后,焦点停留在a标签上,a标签属于li标签的子元素,即停留在li标签上,于是弹出二级菜单。当然,这个只是我的猜测,若其他同学有任何相关资料,请告知..感激不尽…
相关文章推荐
- 关于IE6下a标签的a:hover伪类失效的问题
- 关于nth-child()伪类选择器选取元素设置transform样式但是无法通过hover改变transform的问题
- 关于IOS设备window onscroll滚动条滚动事件不触发的问题
- iOS关于xib关联子view后 用代码无法更改frame的问题
- 关于查找iOS中App路径时所要注意的一个问题
- Xcode 6 关于 iOS App 国际化问题
- iOS关于打包静态库遇到的两个小问题
- iOS 下ARC关于内存管理的引用计数问题
- IOS-关于控件莫名其妙失踪的问题-1
- 关于IQKeyboardManager 在iOS11导航栏消失的问题
- 关于cocos2dx ios 内支付 出现iOSProductByIdentifier(std::string &identifier) 为nullptr 的问题 解决方法
- IOS开发之关于UIButton点击没有响应问题
- iOS中关于UIButton缩进问题
- iOS 关于权限设置的问题
- iOS——关于应用程序生命周期问题
- 转载 -- IOS成长之路-关于iOS6.0 屏幕旋转的问题
- 关于ios编码解码问题
- 关于iOS 更换资源打包问题
- 【IOS学习之常见问题】 关于IOS证书的那点折腾事2-百科证书
- 【转】关于AES256算法java端加密,ios端解密出现无法解密问题的解决方案