在移动端实现常按事件
Posted 袋袋的阳光生活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在移动端实现常按事件相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>长按</title> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" /> <meta name="apple-touch-fullscreen" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes" /> {{!-- <link href="css/travelstyle.css" rel="stylesheet" type="text/css" /> --!}} </head> <body id="body_id" > <div style="width:100%;"> <div style="width:100%; height:100px; background-color:#CCC;" ontouchstart="gtouchstart()" ontouchmove="gtouchmove()" ontouchend="gtouchend()">长按我</div> </div> <script> var timeOutEvent=0;//定时器 //开始按 function gtouchstart(){ timeOutEvent = setTimeout("longPress()",500);//这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改,个人感觉500毫秒非常合适 return false; }; //手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件 function gtouchend(){ clearTimeout(timeOutEvent);//清除定时器 if(timeOutEvent!=0){ //这里写要执行的内容(尤如onclick事件) alert("你这是点击,不是长按"); } return false; }; //如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按 function gtouchmove(){ clearTimeout(timeOutEvent);//清除定时器 timeOutEvent = 0; alert(‘移动了‘) }; //真正长按后应该执行的内容 function longPress(){ timeOutEvent = 0; //执行长按要执行的内容,如弹出菜单 alert("长按事件触发发"); } </script> </body> </html>
以上是关于在移动端实现常按事件的主要内容,如果未能解决你的问题,请参考以下文章
移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
解决移动端报错:Unable to preventDefault inside passive event listener due to target being treated as……(代码片段