移动端禁用双击放大手势

Posted orcim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端禁用双击放大手势相关的知识,希望对你有一定的参考价值。

网上容易找到的方法之一就是在head标签内定义页面元信息(meta)viewport如下:

1
<meta name="viewportcontent="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">

尝试后发现并不怎么靠谱,并没有达到预期的效果,部分浏览器仍然会响应双击放大的手势。最终解决方案如下:

1
2
3
4
5
6
7
<script>
    // “一刀切”方案:
    document.ontouchend = function (e) 
        // 阻止页面 touchend 的默认事件
        e.preventDefault();
    
</script>

当然这个办法并不理智,这样做会导致页面的click事件在移动端上失效,补救的办法可以是使用ontouchstart来代替click

建议

其实完全可以通过避免页面内元素超出设备宽度来避免浏览器双击放大手势事件,不到万不得已最好还是在页面CSS上“下功夫”,合理进行页面布局和响应式才是正道。

以上是关于移动端禁用双击放大手势的主要内容,如果未能解决你的问题,请参考以下文章

移动端手势双击(OnGUI也可以在移动端响应,但是帧率太低)

移动端怎么用JS判断是手势是向上滑动还是向下滑动

移动端图片放大滑动查看-插件photoswipe的使用

jq手机端手势放大缩小怎么弄啊,例如下图使其放大

移动端click事件延时

移动端交互优化