我在网站中添加了一些简单的 JavaScript:
jQuery(document).click(function(){
alert('click');
});
...并且只有当有人点击实际的锚元素、按钮元素或带有cursor: pointer;
CSS.
具体来说,我在 Bootstrap 3 固定导航栏菜单中看到了这一点。当它打开时,我添加了:
jQuery(document).click(function(){
jQuery('#navbar-collapse.collapse.in').collapse('hide');
});
确保无论有人点击哪里它都会关闭。
这在 iOS 中不起作用(已在 iPhone 4、iPhone 6/6+ 和 iPad 上验证)。
似乎 jQuery 单击事件仅在“可单击”元素(A、BUTTON 等)或带有以下内容的元素上注册:cursor: pointer;
CSS or onClick='...something...'
甚至或onClick=''
HTML 属性。
那么,我的问题。这只是我吗?还有其他人看到这个吗?
苹果如何处理事件
通过设计你need使用可点击的元素。所以是的,每个人都会遇到这个问题,除非他们使用与此类似的解决方案来解决它。如果不能的话expected如果被点击,那么 IOS 就看不到它了。
摘自苹果开发者页面。
使元素可点击
由于 iOS 上的 Safari 创建事件来模拟鼠标的方式,
您的某些元素可能无法在 iOS 上按预期运行。在
特别是,一些仅使用 mousemove 处理程序的菜单,如清单中所示
6-1,需要更改,因为 iOS 无法识别它们
可点击的元素。
清单 6-1 使用鼠标悬停处理程序的菜单
<span onmouseover = "..."
onmouseout = "..."
WHERE TO BUY
</span>
要解决此问题,请添加一个虚拟 onclick 处理程序 onclick = "void(0)",以便
iOS 上的 Safari 将 span 元素识别为可点击元素,如下所示
如清单 6-2 所示。
清单 6-2 添加 onclick 处理程序
<span onmouseover = "..."
onmouseout = "..."
onclick = "void(0)">
WHERE TO BUY
</span>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)