移动端事件

touch事件、touchEvents对象、滑屏的思想与实现

移动端touch事件

  1. touchstart
  2. touchmove
  3. touchend
let box = document.querySelector("#box");
    /*
        touchstart --> mousedown 
            手指触碰元素
        touchmove --> mousemove
            手指触碰元素之后,在屏幕中移动
        touchend --> mouseup
            手指触碰元素之后,从屏幕上抬起
    */
    box.addEventListener("touchstart",()=>{
        console.log("手指触碰")
    });
    box.addEventListener("touchmove",({target})=>{
        console.log("手指移动",target)
    });
    box.addEventListener("touchend",()=>{
        console.log("手指抬起")
    });

- 阻止默认事件
阻止 touchstart 事件带来的影响
阻止 touchmove 事件带来的影响

  • 阻止 touchstart 默认事件带来的危害:

1.所有的 mouse 事件,全部都会失效(包括a标签的href)
2.滚动条不能拖动
3.没有办法获得焦点和失去焦点
4.多指不能缩放页面
5.长按选中会被阻止,系统菜单也会被阻止

阻止 touchmove 默认事件带来的危害:

1.滚动条不能拖动
2.多指不能缩放页面

TouchEvent 对象详解

-touches 当前屏幕上的手指列表

  • targetTouches 当前元素上的手指列表
  • changedTouches 触发当前事件的手指列表

滑屏

  • 构思

1.摁下时,记录手指坐标和元素坐标
2.移动后,获取手指新坐标
3.计算手指移动距离 = 用移动后的手指 - 摁下时手指坐标
4.移动后的元素位置 = 手指移动距离 + 摁下时元素的坐标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值