小程序之解决移动端点击和长按事件冒泡问题
来源:互联网 发布:js获取页面滚动条位置 编辑:程序博客网 时间:2024/05/20 21:46
如果我们希望一个对象被长按的时候不会触发点击事件,如果你同时绑定上bindtap事件和bindlongtap事件的话这里会有一个问题就是不管你有没有点击,长按的时候就会触发点击事件,我们有一个需求就是在点击的时候跳转页面,但是在长按的时候删除某个对象。
所以这个时候我们就要考虑自己封装了
wxml
<image class="book-image" src="{{item.img_path}}" mode="scaleToFill" bindtouchstart="mytouchstart" bindtouchend="mytouchend" catchtap="toDetail" hidden="{{isShow}}" data-goodId="{{item.goods_id}}" ></image>
.js
toDetail:function(options){ let that = this; //触摸时间距离页面打开的毫秒数 var touchTime = that.data.touch_end - that.data.touch_start; console.log(touchTime); var goodId=options.target.dataset.goodid; if(touchTime<350){ console.log(goodId) var goodUrl='../book-detail/book-detail?bookid='+goodId; wx.navigateTo({ url:goodUrl }); }else{ this.setData({ isShow:true }) } },
mytouchstart: function (e) { let that = this; that.setData({ touch_start: e.timeStamp }) console.log(e.timeStamp + '- touch-start') }, //按下事件结束 mytouchend: function (e) { let that = this; that.setData({ touch_end: e.timeStamp }) console.log(e.timeStamp + '- touch-end') },
原理就是利用e.timeStamp来获取start和end之间的时间间隔,然后根据不同的时间间隔来实现不同的效果,是不是很简单!!!!!·~~~~~~~
0 0
- 小程序之解决移动端点击和长按事件冒泡问题
- 移动端点击事件、滑动事件、长按事件封装
- 解决移动端点击事件延迟300ms的问题
- pc端点击事件和移动端点击事件区别
- 移动端点击300ms延迟问题和解决
- 移动端点击300ms延迟问题和解决
- 移动端点击事件延迟 击透及解决
- 解决移动端点击事件延迟300ms
- 解决移动端点击事件延迟300ms
- 解决移动端点击链接触发颜色块的问题
- 小程序学习心得之事件冒泡
- 移动端点击a标签和img标签以及添加的js点击事件时的闪屏问题 解决方案
- 移动端点击事件触发顺序
- 移动端点击事件延迟300毫秒
- 移动端点击事件触发顺序
- 移动端点击穿透和click事件300ms延迟问题
- 移动端点击(click)事件延迟问题的产生与解决方法
- CSS3 修改和去除移动端点击事件出现的背景框
- (1)caffe总结之Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程
- java线程池理解
- HTML5标签整理六
- iOS中使用RSA加密
- 如何使用jquery
- 小程序之解决移动端点击和长按事件冒泡问题
- java SSM 框架 代码生成器 websocket即时通讯 shiro redis 后台框架源码
- 制作3D效果的按钮
- java的深拷贝与浅拷贝
- opencv 填充矩形 填充多边形
- CollapsingToolbarLayout时Toolbar.setTitle不生效
- leetcode148~Sort List Add to List
- 用Jersey、Grizzly在eclipse中开发第一个RESTful服务helloworld
- bzoj2115( maxize xor)