我有一種「小工具」 - 一種數據表,包含排序,行選擇等其他豐富功能。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