jQuery 没有在隐私浏览中触发点击/触摸启动事件

Posted

技术标签:

【中文标题】jQuery 没有在隐私浏览中触发点击/触摸启动事件【英文标题】:jQuery not firing tap/touchstart events in Private Browsing 【发布时间】:2016-05-06 06:49:37 【问题描述】:

我的代码正在监听.header div 上的touchstart 事件:

$('.header').bind('touchstart', function() 
  console.log('Rock and roll.');
);

此事件会在所有设备和浏览器中触发,但 iPhone 6 上的 Safari 在隐私浏览模式下似乎存在问题。如果关闭隐私浏览功能,这将在同一设备上运行。

我尝试了常见的提示:

<div class="header" onClick="">

添加

cursor: pointer;

但问题仍然存在。你们知道解决方法吗?

更新:这通常与隐私浏览有关,并不特定于任何设备类型。在桌面版 Chrome 上以隐身模式浏览时也会发生同样的情况。

【问题讨论】:

不是在解决问题,而是 onClick="" 在做什么? 一些用户认为它对他们有用***.com/a/27938334/3678689 重启设备,再次测试..很奇怪的问题... 【参考方案1】:

隐私浏览有一个常见问题:如果您使用本地存储,它将引发异常并停止 javascript 执行。这可能就是您的点击事件没有被触发的原因。

【讨论】:

你说得对,我的朋友!我们同时解决了这个问题,原因正是如此。 @Creaforge 在同一设备上使用其他浏览器时是否存在此问题?

以上是关于jQuery 没有在隐私浏览中触发点击/触摸启动事件的主要内容,如果未能解决你的问题,请参考以下文章

滑动时防止触摸启动

没有页面刷新,点击功能不会触发

jQuery Mobile 事件

jQuery Mobile 事件

如果没有显示元素,jQuery'触发器('click')`不能处理opera

在 Android 浏览器中禁用触摸取消触发