美文网首页
关于移动端的长按事件

关于移动端的长按事件

作者: 婆娘漂亮生活安逸 | 来源:发表于2019-04-17 17:51 被阅读0次

1.关于长按这个操作,我们需要借助三个事件:

  • onTouchStart:开始 touch 页面的某个DOM元素;
  • onTouchMove:touch 页面的某个DOM元素时移动;
  • onTouchEnd:开始 touch 页面的某个DOM元素;

2.合理使用计时器

setTimeoutclearTimeout

3.直接上代码,以长按5秒后进行删除操作为🌰讲解;

// HTML 文件
<div
        style="width: 100px; height: 100px; background-color: #CCC;"
        onTouchStart="onTouchStart()"
        onTouchMove="onTouchMove()"
        onTouchEnd="onTouchEnd()"
>
      长按我5秒可删除
</div>
// 脚本文件
      var timeOutId = 0; // 定时器
      // touch开始
      function onTouchStart() {
          timeOutEvent = setTimeout("longPress()", 5000); // 5秒后开始触发 longPress 函数
      }

      // touch结束
      function onTouchEnd() {
          clearTimeout(timeOutEvent); //清除定时器
          if (timeOutEvent != 0) {
              //意味着长按时间不到规定时间,可以进行其他操作,例如 onCLick
              
          }
      }

      // touch时移动
      function onTouchMove() {
          clearTimeout(timeOutEvent); //清除定时器
          timeOutEvent = 0;
          // 意味着用户在长按时进行了移动,可以进行其他操作,例如 撤销删除操作;
          cancle();
      }

      //长按后应该执行的内容
      function longPress() {
          timeOutEvent = 0;
          //执行长按要执行的内容,如删除操作
          delete();
      }

⚠️
当 touch 操作 end 或者 move 时,都需要清除定时器;
在 touch 进行 move 操作时,最好可以要进行距离的判断,当移动距离大于多少像素,才认定是进行 move 操作。

相关文章

  • 关于移动端的长按事件

    1.关于长按这个操作,我们需要借助三个事件: onTouchStart:开始 touch 页面的某个DOM元素; ...

  • 移动端------移动事件对

    在移动端,用户每时每刻都在触发移动事件,比如触摸的事件,点击,长按,左右滑动的事件,手指缩放,等等。都是移动事件的...

  • 移动端

    原生事件 因为click有300ms的延迟(用于判断是否长按),所以不建议在移动端使用click。移动端事件,主要...

  • 移动端H5模拟长按行为

    需求: 点击编辑, 长按删除 环境: 移动端H5 思路: 使用touchstart事件 +touchend事件 +...

  • 模拟移动端长按事件

    代码 调用:

  • vue移动端长按事件

    代码

  • Vue移动端长按事件

    页面布局如下: 说明:因为这里是长按一张指纹图片,移动端长按图片会提示“保存图片”,虽然不影响跳转,但是会误导用户...

  • 由SetTimeout引发的

    写在前面的:才疏学浅,如有不足,多多指出! 之前在关于移动端的长按事件文章中曾经提过 setTimeout,搜索该...

  • Js实现移动端长按事件

    前言 最近在做一个移动端的项目,其中有一个收藏列表,其中包含几个事件。1.点击跳转详情页。2.长按显示遮罩层和删除...

  • 移动端指纹识别(长按事件)

    移动端有些H5项目上有模拟指纹识别的效果,其实也就是长按事件。核心就是判断触摸的长短,以及阻止页面的默认长按事件。...

网友评论

      本文标题:关于移动端的长按事件

      本文链接:https://www.haomeiwen.com/subject/zmvnwqtx.html