移动Web开发入门(五) -- touch事件

101 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

本文主要记录了移动端特有的touch事件,以及touch事件的分类等演示。

touch事件

touch事件是移动端特有的,由于移动端设备大都具备触摸功能,所以移动端浏览器都引入了触摸 touch事件。 touch相关的事件跟普通的其他dom事件一样使用,可以直接用addEventListener来监听和处理。

touch事件分类

  • touchstart:手指开始触碰时触发;
  • touchmove:手指滑动时触发;
  • touchend:手指移开时触发;
  • touchcancel :中断时触发;

touchcancel 不常用, 当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作。一般会在touchcancel时暂停游戏、存档等操作。

代码示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>移动端事件</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="div"></div>
    <script>
        const divEl = document.getElementById('div');
        // false 代表不捕获,即冒泡
        divEl.addEventListener('touchstart', handStart, false);
        divEl.addEventListener('touchmove', handMove, false);
        divEl.addEventListener('touchend', handEnd, false);
        function handStart (){
            console.log('handStart');
        }
        function handMove (){
            console.log('handMove');
        }
        function handEnd (){
            console.log('handEnd');
        }
    </script>
</body>
</html>

页面效果

点击红色区域未移动

点击红色区域未移动时,触发touchstart、 touchmove事件; 在这里插入图片描述

点击红色区域,移动到红色区域抬起

==点击红色区域,移动到红色区域抬起时==,触发touchstart、 touchmove、touchend事件; 在这里插入图片描述

点击红色区域,移动到红色区域外抬起

==点击红色区域,移动到红色区域外抬起时==,触发touchstart、 touchmove、touchend事件; 在这里插入图片描述

在红色区域外点击,移动到红色区域抬起

==在红色区域外点击,移动到红色区域抬起时==,没有触发任何事件; 在这里插入图片描述

在红色区域外点击,穿过红色区域移动到红色区域外抬起

==在红色区域外点击,穿过红色区域移动到红色区域外抬起时==,没有触发任何事件; 在这里插入图片描述

本文到此结束

如果大家还有什么其他想法,欢迎在评论区交流!