手机上的Javascript -告诉浏览器不要劫持手势

Javascript on mobile- tell browser to not hijack gestures

本文关键字:劫持 浏览器 Javascript 手机      更新时间:2023-09-26

我正在制作一款面向手机平台的小型全屏画布游戏。它需要用手指在屏幕上滑动。我让画布监听触摸事件(down, move, up)。

不幸的是,浏览器试图将左右滑动解释为浏览器选项卡导航,上下滑动解释为隐藏/显示URL。我不在乎URL是否隐藏,我只希望所有内容保持不变。

由于所有东西都在移动,它间歇性地停止识别画布的输入。

我设置它的方式是一个画布,它取屏幕的大小,将其位置设置为固定的0,0。这是为了防止滚动(这工作,除了隐藏/显示url的东西)。

如果你想看一个例子,这是我托管它的地方:http://phildogames.com/scratch/sust/index.html?game=window(你将无法在桌面上进行交互,因为它正在监听触摸事件,但如果你在移动设备上查看它,应该能够打开和关闭窗口)

tl;dr: 我想告诉浏览器简单地传递滑动(好吧,所有的触摸事件)到dom,并停止将它们解释为滚动,切换选项卡,隐藏/显示URL等意图

谢谢!

我可以通过简单地防止触摸身体来解决您的问题。

var myBody = document.getElementById('dabody');
myBody.addEventListener('touchstart', function(e){ 
    e.preventDefault() 
});

你可以把它扔到控制台测试。