避免双指滚动触发后退/前进

时间:2014-03-10 23:41:41

标签: javascript

当用户使用双指滚动(例如:OSX)时,我正试图找到一种避免在浏览器中触发后退/前进的方法。

就像这样: https://tweetdeck.twitter.com

1 个答案:

答案 0 :(得分:0)

移动设备因处理触摸事件而臭名昭着。但是,如果在DOM触摸事件上返回false或preventDefault(),则会阻止浏览器滚动/缩放/导航。

以下示例将阻止所有触摸执行默认行为;意思是链接触摸不会注册,滚动不起作用等。

$("body").on("touchstart", function(e){ e.preventDefault(); });

以下内容将阻止多点触控的默认功能。

$("body").on("touchstart", function(e){ if (e.originalEvent.touches.length == 2) { e.preventDefault(); } });

如果您需要允许用户点击链接,您可以按照以下方式执行操作。

$("body").on("touchstart", function(e){ if (e.target.tagName != "A") { e.preventDefault(); } });