我有一个网站http://ADHD.BHStudios.org,它有一个侧边栏,应该保持隐藏状态,直到您将鼠标光标悬停在它上面(纯 CSS)。但是,在 iOS Safari 中,浏览器窗格总是被告知光标位于左上角像素中,这会强制此侧边栏始终保持打开状态,而不是在用户触摸它以使其获得焦点时。如何阻止 iOS Safari 将光标保持在浏览器窗格的左上角像素中,以及如何在这样做后保持“触摸扩展”功能?其他浏览器和其他操作系统没有这个问题。在装有 iOS 5 和 6 的 iPad 2、iPad 3 和 iPhone 4s 上测试。同样,这适用于其他移动浏览器和其他移动设备,例如 Opera Mobile(iOS 和 Android)、Chrome(iOS 和 Android),以及默认安卓 2.2 浏览器。
问问题
657 次
1 回答
0
iPhone 有不同的布局,但在 iPad 上,侧边栏永远不会打开。所以,我无法复制你问题的那一部分。
至于悬停问题,显然触摸屏设备上没有悬停伪类。您必须将事件侦听器附加到 touchstart 事件
document.getElementById('top').addEventListener('touchstart', function(){...});
你可以设置一个计时器让它消失(把它放在你的 touchstart 回调中):
setTimeout(function(){...}), [milliseconds]);
我就是这样做的。
于 2013-01-07T08:14:53.033 回答