javascript - JS中event.preventDefault()取消默认事件后还原的问题?
黄舟
黄舟 2017-04-11 08:56:53
[JavaScript讨论组]

1、问题描述:

在**touchstart**事件中用setInterval()判断按住超过1S的为长按事件,低于1S的**还原默认事件**(需要浏览器滚动事件)。
但是下面的代码没有效果,请教下问题所在:

2、代码:

 function isScroll(event){
    event.preventDefault();
  }
function touchStart(event){
  elem = event.target;
**document.addEventListener('touchstart',isScroll);**
   var touch = event.touches[0];
   startX = parseInt(touch.pageX);
   startY = parseInt(touch.pageY);
   var j =0;
   timer = setInterval(function(){
   j += 10;
    //长按1s后
   if(j >= 1000){
      document.addEventListener('touchstart',isScroll);
      if($(elem).hasClass('list')){
           $(elem).css({
               'box-shadow' : '0 0 18px rgba(111,111,200,3)',
               'z-index' : '1000',
               'background-color' : 'rgb(111,111,200)'
            });
       }
            clearInterval(timer);
     }else{
        **document.removeEventListener('touchstart',isScroll);**
         //这里的取消事件监听没有效果,一直都处于阻止默认事件,并没有还原
        }
      },10);
        elem.addEventListener('touchmove',touchMove);
        elem.addEventListener('touchend',touchEnd);
}
    
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号