zoukankan      html  css  js  c++  java
  • 关于移动端禁止滑动事件

    最近在项目中遇到关于禁止移动端滑动事件,记录下,以便以后查找。

    项目中页面需要一个弹窗效果,但有弹窗的同时希望不要屏幕滑动,弹窗取消,屏幕可滑动。

           document.addEventListener('touchmove', function (event) {
                        if($scope.isSeekShow) { //此为弹窗显示
                            event.preventDefault();
                        }
                    },false);
    

     问题来了,给我这个错误提示

        

    用的是谷歌浏览器,其他几个高版本的浏览器好像也是不行,在手机上是可以的。

     翻译一下:由于目标被视为被动的,干预无法在被动的事件监听器中避免默认情况

    查了一番资料原来是新版chrome,给这个preventDefault返回了naive,不再是清除浏览器默认行为了

    addEventListener() 的第三个参数可以是个对象值了,也就是说第三个参数现在可以是两种类型的值了:

    addEventListener(type, listener[, useCapture ])
    addEventListener(type, listener[, options ])


    addEventListener(type, listener, {
        capture: false,
        passive: false,
        once: false
    })

    换上这个就可以

                window.addEventListener('touchmove', function(event){
                        if($scope.isSeekShow) { //弹窗显示
                            event.preventDefault();
                        }
                },{passive: false });
  • 相关阅读:
    0313学习进度条
    0311 了解和熟悉操作系统实验
    学习进度条博客
    0302 关于就业的感想
    1230递归下降语法分析程序设计
    有限自动机的构造和识别
    评论
    C语言文法
    编译原理第二次作业——词法分析心得
    0428团队项目2.0
  • 原文地址:https://www.cnblogs.com/pengBoRan/p/8036106.html
Copyright © 2011-2022 走看看