zepto-touch事件
阅读原文时间:2023年07月11日阅读:1


 <head>  
     <meta charset="UTF-8">  
     <title></title>  
     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
     <!--  
         viewport 布局视口  
         html的大小是布局视口大小  
         真正可看见的大小是度量视口

         设备大小 布局视口 度量视口 ----- 保持一致

         width=device-width ----- 让布局视口的大小跟设备大小一致  
         initial-scale=1 ------ initial-scale=布局视口/度量视口 =1   布局视口跟度量视口大小一致

         minimum-scale=1  maximum-scale=1  ----- 不能双击缩放  
         user-scalable=no   -----   不能双指捏合

         虽然在标签已经将viewport设置为不能通过双击缩放,但是移动依然会接收这个事件  
         移动端的处理接收这个事件的方式:  
         在一次点击之后,等待300ms,如在这个时间之内,发生了第二次的点击,就是双击事件。

         //解决300ms延迟的问题,移动端提供了touch事件

         //移动端click事件,通常叫做tap事件  
         zetpo提供了tap事件,   mui框架,vue框架,angular框架,react框架,都解决了tap事件。

     -->

     <style>  
         #box{  
             width: 200px;  
             height: 200px;  
             background: red;  
         }

     </style>

 </head>

 <body>

     <!--<div id="box" onclick="boxAction()"></div>-->  
     <div id="box"></div>

     <script>

// function boxAction(){
// console.log(111111111)
// }

         var box = document.querySelector('#box');

         //添加事件监听  
         //touch有四个部分  
         //触摸开始  
         box.addEventListener('touchstart', function(ev){  
             console.log('touchstart');

             console.log(ev);  
             //ev.type: 事件名字  
             //ev.target: 触发对象  
             //ev.touches: 数组,触摸对象  一个的触摸点就是一个对象

             //touch对象  
             //timeStamp 时间戳  
             //clientX  
             //clientY

             //当touchend事件触发时,touches和targetTouches都没有值  
             //如果要知道停止的点在哪个位置,取changedTouches的值

             //changedTouches 触摸的上一个点

             //事件类型   事件touch对象时间戳   clientX clientY  
             //封装移动端的click事件 ,  通过都叫做tap事件  
             //    在touchStart时记录时间记录位置  
             //    如果手指移动了,触发了touchmove,并且滑动的范围大,就不能触发了click事件了  
             //    再在touchend判断时间,位置。才能触发click事件

             //长按事件     滑动事件     捏合事件

         })

         //触摸移动,手指在该标签对象上开始触摸,之后再移动就会触发  
         box.addEventListener('touchmove', function(ev){  
             console.log('touchmove');  
             console.log(ev)  
         })

         //触摸开始之后,手指离开屏幕  
         box.addEventListener('touchend', function(ev){  
             console.log('touchend');  
             console.log(ev)  
         })

         //触摸是被动取消的,就会触发该事件  
         //来电,来短信,来通知,锁屏,退出活跃状态。。。。  
         box.addEventListener('touchcancel', function(){  
             console.log('touchcancel');  
         })

     </script>

 </body>

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章