禁止或者移除触摸事件

jquery怎么禁止手机页面触屏滑动页面滚动。(安卓和IOS都禁止)以及怎么接触禁止?谢谢

 
是禁止滑动页面滚动,不是隐藏。谢谢,急!!!
提问者采纳
热心网友
监听页面触摸运动
var jinzhi=0;
document.addEventListener("touchmove",function(e){
if(jinzhi==0){
e.preventDefault();
e.stopPropagation();
}
},false);

后面随便用个函数 把jinzhi的值改为不为0 就又可以滚动了。原理就是这样 很简单
追问
你好,我是这样写的
var t=0;
$(".nav_click").click(function(){
t++;
var jz=t%2;
if(jz==0)
{
document.addEventListener("touchmove",function(e){
e.preventDefault();
e.stopPropagation();
},false);
}
})当jz不是0,也是禁止的,怎么改,谢谢
回答
因为 禁止不禁止是在监听里做判断 而不是监听函数外,在函数外只要触发一次监听,只要不取消监听都会一直执行。所以必须把判断写在里面
document.addEventListener("touchmove",function(e){
if(jz==0){
e.preventDefault();
e.stopPropagation();
}
},false);
}
追问
$(".nav_click").click(function(){
t++;
var jz=t%2;
document.addEventListener("touchmove",function(e){

if(jz!=0){
e.preventDefault();
e.stopPropagation();
}
},false);
})
这样也是一直执行,一直禁止的。不能解除
回答
把监听放在最外面,他并不是与每次点击想关联,监听只能一次。
var jz=0;//全局

$(".nav_click").click(function(){
t++;
var jz=t%2;
});

document.addEventListener("touchmove",function(e){
if(jz!=0){
e.preventDefault();
e.stopPropagation();
}
},false);

这样才行
追问
像您这样的话,if(jz!=0){
e.preventDefault();
e.stopPropagation();
}这个if语句也是只执行一次,能加QQ吗?871647423.谢谢
回答
var jz=0;//全局

$(".nav_click").click(function(){
t++;
var jz=t%2;
if (document.addEventListener){
document.removeEventListener("touchmove", fun, false);
} else{
document.addEventListener("touchmove",fun,false);
}
});

function fun(){
if(jz!=0){
e.preventDefault();
e.stopPropagation();
}
}

哦对,忽略了

2.iscroll判断左右滑动

onScrollMove :function(){
if(this.distX >0 && this.absDistX > (this.absDistY + 5 ) ){
alert(1)
};

if(this.distX<0 && this.absDistX > (this.absDistY + 5 ) ){
alert(2)
};

}



转载于:https://www.cnblogs.com/cainiaoz/p/4530645.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值