博客
关于我
移动端事件
阅读量:561 次
发布时间:2019-03-10

本文共 1070 字,大约阅读时间需要 3 分钟。

没有前段总结

Touch事件、touchEvents对象与滑屏的实现

Touch事件概述

在移动端开发中,Touch事件是处理用户交互的核心事件类型。它通过触屏事件模拟鼠标事件,从而为移动应用提供类似PC端的交互体验。以下是常见的Touch事件类型及其对应关系:

  • touchstart: 代表手指首次触碰屏幕或元素发生的事件,与mousedown事件类似。
  • touchmove: 代表手指在屏幕上移动时发生的事件,与mousemove事件类似。
  • touchend: 代表手指从屏幕上抬起或与元素失去联系的事件,与mouseup事件类似。
  • let box = document.querySelector("#box");box.addEventListener("touchstart", () => {    console.log("手指触碰");});box.addEventListener("touchmove", ({ target }) => {    console.log("手指移动", target);});box.addEventListener("touchend", () => {    console.log("手指抬起");});

    Touch事件的默认行为

    Touch事件默认行为可能对应用程序有潜在风险,因此需要谨慎处理。主要考虑以下危害点:

  • touchstart的默认行为:

    • 初始危害:所有鼠标事件将失效,包括链接跳转、滚动条拖动、焦点获取等。
    • 长期影响:可能导致页面无法缩放、系统菜单无法显示等。
  • touchmove的默认行为:

    • 滚动条拖动将失效。
    • 缩放功能将无法正常工作。
  • TouchEvent对象

    TouchEvent对象提供了关于手势事件的详细信息,主要属性包括:

  • touches: 表示当前屏幕上所有手指的状态。
  • targetTouches: 表示触发事件的目标元素上的手指状态。
  • changedTouches: 表示发生变化的手指状态。
  • 通过TouchEvent对象,可以获取手指的坐标和移动信息,从而实现复杂的交互功能。

    滑屏实现

    滑屏是一个典型的Touch事件应用场景,常用于ือ形页面导航或滚动视图。其实现逻辑遵循以下步骤:

    1. 初始触碰

    记录初始手指坐标及被触碰元素的坐标,为后续计算提供出发点。

    2. 手指移动

    捕捉手指的新坐标,计算移动距离。

    3. 更新元素位置

    根据手指移动距离,计算元素的新位置,并应用最终样式。

    这种方式不仅能够实现页面平滑滑动,还能提供良好的用户体验。

    转载地址:http://ggfvz.baihongyu.com/

    你可能感兴趣的文章
    Android Studio基础项目-布局XML设置的实战-全屏显示登录界面,去除按钮深颜色
    查看>>
    pyhton---异常处理的终极语法、网页访问基本读取、网页访问异常处理
    查看>>
    linux下编程出现 对'sem_wait'未定义的引用解决方案
    查看>>
    工具研究:(三)Nginx配置错误的路由时均统一跳转到登录界面
    查看>>
    前端框架(react+umi+dva+ant design pro )攻克: 二、react 父子组件通信(二)
    查看>>
    ant design pro v5去掉右边content区域的水印
    查看>>
    web_求和(练习)
    查看>>
    JavaScript——使用iterator遍历迭代map,set集合元素
    查看>>
    IAR调试卡顿的解决办法
    查看>>
    应用程序无法启动,应用程序的并行配置不正确完美解决方法
    查看>>
    【IntelliJ IDEA 2019.2】idea如何开启自动编译
    查看>>
    强大的文字处理器——Nisus Writer Pro
    查看>>
    如何轻松适应从Windows到MacOS的过渡!Mac新手入门指南
    查看>>
    fcpx插件:25个假日主题专业设计
    查看>>
    fcpx插件:Block Party for Mac(53个视频转场插件)
    查看>>
    Mac使用技巧:快速视频播放错误如何修护
    查看>>
    代码绘制五角形
    查看>>
    Course Schedule II
    查看>>
    线程总结
    查看>>
    【ES9(2018)】Promise.prototype.finally()
    查看>>