0

我有一个网站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 浏览器。

4

1 回答 1

0

iPhone 有不同的布局,但在 iPad 上,侧边栏永远不会打开。所以,我无法复制你问题的那一部分。

至于悬停问题,显然触摸屏设备上没有悬停伪类。您必须将事件侦听器附加到 touchstart 事件

document.getElementById('top').addEventListener('touchstart', function(){...});

你可以设置一个计时器让它消失(把它放在你的 touchstart 回调中):

 setTimeout(function(){...}), [milliseconds]);

我就是这样做的。

于 2013-01-07T08:14:53.033 回答