我有一种“小工具” - 一种数据表,包含排序,行选择等其他丰富功能。iOS 7悬停/点击问题 - 在某些情况下没有触发点击
在某些情况下(小部件在DOM中放置/嵌套),点击它的行不会在iOS 7 Safari中触发。
的Widget是使用jQuery 1.6.4
我不能发布一个整体部件代码(你真的wan't做到这一点;)),但我可以再现场景缩小到下面的案例:
一些行- 简单的HTML表格,在每个
- 第一列中有两个的cols包含一个“复选框” - 简单
div
这通常是隐藏的,变得可见,然后父行得到徘徊。仅用CSS触发可见性 - 每行都有一个
click
事件处理程序。不管它做什么。在我的例子则会触发alert()
- 表的父是具有固定高度的块元件和
overflow-y
设置为auto
- 表是大于它的父,所以,一些表的内容被隐藏,并且可以与滚动 可以看出
这里是一个的jsfiddle:http://jsfiddle.net/822eG/4/
在任何桌面浏览器项目成功徘徊,点击触发。在iOS7上悬停正在工作,但不会触发点击。
备注:在iOS上,您必须点击两次以触发click
。第一次点击会触发hover
,您将看到一个“复选框”,然后第二次点击必须触发click
,但它不会...
任何这些情况都需要重现问题。删除一个,它开始工作...
如果您删除“复选框”外观 - 点击将工作(http://jsfiddle.net/822eG/5/)。
如果您删除了一个高度修正 - 它会起作用(http://jsfiddle.net/822eG/6/)。
如果您删除溢出滚动 - 它将工作(http://jsfiddle.net/822eG/8/)。
任何解决方法是必要的,但功能应保持不变。所以,我无法删除“复选框”,尺寸修复,悬停,点击或溢出滚动。另外,更改HTML标记也不会发生。
注意我有一个解决方案 - 请参阅下面的答案。但是我仍然需要一个更好的解决方法来尽可能地继续使用CSS。
地址:提起苹果#错误16072132
是的,它有助于:http://jsfiddle.net/822eG/11/。但为什么? – Olegas