为了提高 iPad 上 Web 应用程序的响应能力,我从响应单击事件切换到响应 jQuery Mobile“tap”事件。它工作得很好并且响应速度更快,但它引入了一个新错误。

当用户在 iPad 上点击屏幕时,iOS 会发送 TOUCHSTART 和 TOUCHEND 事件,jQuery Mobile 将其视为“点击”。但是 300 毫秒后,iOS 发送了一个“点击”事件。如果我在“点击”发生之前通过前进到下一页来响应“点击”,那么下一页会收到“点击”,如果新页面上的按钮碰巧出现在点击的位置,那么它会被点击.

我现在的解决方法是为用户提供视觉反馈以响应“点击”,但在继续下一页之前等待“点击”。

我的问题是是否有可能处理“点击”并以某种方式告诉 Safari 或 iOS 根本不要发送“点击”。

最佳答案

你可以说;

$('elementsSetThatCanBeTapped').on('tap', function(e) {
   e.preventDefault();
   e.stopPropagation();
   $(this).off('click');
})

关于javascript - 在 iOS 上处理 jQuery Mobile 点击事件后防止点击事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20359872/

10-14 20:31