手机上的Javascript -告诉浏览器不要劫持手势
Javascript on mobile- tell browser to not hijack gestures
我正在制作一款面向手机平台的小型全屏画布游戏。它需要用手指在屏幕上滑动。我让画布监听触摸事件(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()
});
你可以把它扔到控制台测试。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 有时数据是't显示在浏览器中
- 使图像在单击时展开到不大于浏览器
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- 不同浏览器中的空白字符正则表达式行为
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 禁用(而不是隐藏)浏览器滚动条
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 是否可以在浏览器中使用纯JavaScript保存音频流
- jQuery检测浏览器是否支持Zoom
- 手机上的Javascript -告诉浏览器不要劫持手势