为啥写这篇
文章
最近接了个需求,要求长按某个
标签显示删除一个悬浮的
删除按钮。这个需求其实在app上很常见,但是在移动端h5中,我们没有长按的事件,所以就需要自己模拟这个事件了。
大概
效果如下:
ps: 为了做个gif还下了app,还得通过
邮件发到电脑上,脑瓜疼。。
思路
放弃click事件,通过判断按的时长来决定是单击还是长按
使用touchstart和touchend事件
在touchstart中开启
一个定时器,比如在700ms后
显示一个长按
菜单
在touchend中清除这个定时器,这样如果按下的时间超过700ms,那么长按
菜单已经
显示出来了,清除定时器不会有任何影响;如果按下的时间小于700ms,那么touchstart中的长按
菜单还没来得及
显示出来,就被清除了。
由此我们可以实现模拟的长按事件了。
上
代码
请把重点放在JS上,这里贴出来完整的
代码是为了方便大家看个仔细,
代码可以拷贝直接看
效果
css中大部分只是做了样式的美化,还有一开始让
删除按钮隐藏起来
HTML:
Document
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。