Js实现移动端长按事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js实现移动端长按事件相关的知识,希望对你有一定的参考价值。

参考技术A 最近在做一个移动端的项目,其中有一个收藏列表,其中包含几个事件。
1.点击跳转详情页。
2.长按显示遮罩层和删除按钮
3.点击删除按钮,删除此项。
下面会详细介绍我处理此问题时所出现的问题,及处理方法(本文基于jQuery)

首先我对列表添加了长按事件,添加完之后,发现我的长按事件已经可以成功执行了。但是却出现了新的问题:

这个问题好处理,只需添加一个变量,来判断是否为长按事件

这样上面的问题就完美解决了。

接下来就是给遮罩层上的删除按钮添加事件

但是在这里就发现了新的问题

所以就需要一个新的事件来覆盖原本的事件

然后,整个点击跳转,长按显示删除,删除事件,就已经完美解决了。

但是,在移动端查看的时候就会发现正常的滚动事件被preventDefault屏蔽了。

此处有两种解决方式:
1.删除 e.preventDefault();
删除preventDefault有可能会出现其它情况,不过我暂时没发现如果出现其它情况,可使用下面的方法

删除的点击事件也是如此

By : Yimi-shan

Vue 移动端的长按与触摸事件

参考技术A

博客说明

在手机端的需求难免会遇到与手势相关的,比如div的长按和单击事件,长按可能是分享或者删除等操作,一般的形式是通过弹窗来展现。

其实主要是利用dom的触摸事件,touchstart,touchmove,touchend

发现在长按时,会出现选中文字的效果,这比较影响体验。

在css中加入样式,这样就不会出现选中的效果了。

感谢

以上是关于Js实现移动端长按事件的主要内容,如果未能解决你的问题,请参考以下文章

移动端长按效果实现

JS案例 - 基于vue的移动端长按手势

移动端长按事件

移动端长按事件操作

VUE: 移动端长按弹出确认删除地址

Js实现长按事件