标签:function longClick 0009 js 端为 timeout var document shortClick
移动端的操作一直以简单为宗旨,那么就涉及到需要为一个元素同时增加点击与长按事件,代码如下:
//首先需要禁止页面上的默认长按事件
document.body.onselectstart=document.body.oncontextmenu=function(){return false;};
//长按初值
var longClick = 0;
//短按初值
var shortClick = 0;
//时间初值
var timeout = 0;
$('.demo').each(function(){
var $this = $(this);
//监听按下屏幕事件
$this.on('touchstart', function(){
longClick = 0;
shortClick = 1;
timeout = setTimeout(function() {
longClick = 1;
shortClick = 0;
//==触发成功时如何表现,这里可以写一些代码==//
}, 300);
});
//长按移动事件排除
$this.on('touchmove', function(){
clearTimeout(timeout);
//==针对触发成功时如何恢复,这里可以写一些代码==//
timeout = 0;
e.preventDefault();
});
//监听离开屏幕事件
$this.on('touchend', function(){
clearTimeout(timeout);
if(timeout != 0 && shortClick == 1 && longClick != 1)
{
//==业务代码==//
}else if(timeout != 0 && longClick == 1 && shortClick != 1 ){
document.body.onselectstart=document.body.oncontextmenu=function(){};
//==业务代码==//
}
return false;
});
});
标签:function,longClick,0009,js,端为,timeout,var,document,shortClick 来源: https://blog.csdn.net/HoD_DoH/article/details/93380091
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。