iPad/iPhone上只需要一个点击就能完成的操作现在需要两次点击才能完成。

5
我正在开发一个支持移动设备和桌面设备的网站。我使用jquery-address插件来制作一个图库,可以使用哈希标签进行深度链接。
但是我发现在iPad模拟器上的iOS5和iPhone 5上存在问题,必须在图库中点击两次类别才能使事件正常工作。在OSX的chrome/safari/firefox上单击可以正常工作。
到目前为止,我只在iPhone/iPad上看到了这个问题。有关于为什么桌面浏览器一次点击就可以正常工作,而iPad/iPhone需要两次的任何想法吗?我很困惑。我无法确定问题是出在我的标记/JavaScript还是jquery-address/safari在iPad/iPhone上的一个隐晦的错误。

在iPad上尝试过没有JS:同样的问题。所以这是Safari Mobile处理#的方式。我会尝试使用绝对URL。 - mddw
1个回答

4

我相信这是由于您的标记和在 .gallery-category 上设置悬停状态造成的:

.gallery-category:hover {
  color: white;
  cursor: pointer;
}

iOS不支持常规的:hover方式,因为没有办法在没有鼠标的情况下检测到悬停状态。通常,在纯粹的a:hover状态下它会自动解决,但我猜测由于您的标记有点复杂(且父元素上有:hover状态),这可能导致其出现问题。

我认为,如果您将上面的代码片段替换为适用于

.gallery-category a:hover {...

它将会修复它(虽然我没有在你的代码上尝试过)


我今天稍后会试一下。 - Dave
感谢您指引我正确的方向。原来是我的 mouseleave 事件处理程序导致我在 iPad 上想要单击操作时需要双击。 - Jasper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接