//防止滑动的时候触发点击事件
const tap = (sprite, cb) => {
var tapStartTime = 0,
tapEndTime = 0,
tapTime = 300, //tap等待时间,在此事件下松开可触发方法
tapStartClientX = 0,
tapStartClientY = 0,
tapEndClientX = 0,
tapEndClientY = 0,
tapScollHeight = 15, //水平或垂直方向移动超过15px测判定为取消(根据chrome浏览器默认的判断取消点击的移动量)
cancleClick = false;
sprite.on('touchstart', function () {
console.log(11111)
console.log(cancleClick)
tapStartTime = event.timeStamp;
console.log(tapStartTime)
var touch = event.changedTouches[0];
tapStartClientX = touch.clientX;
tapStartClientY = touch.clientY;
cancleClick = false;
})
sprite.on('touchmove', function () {
console.log(22222)
console.log(cancleClick)
var touch = event.changedTouches[0];
tapEndClientX = touch.clientX;
tapEndClientY = touch.clientY;
if ((Math.abs(tapEndClientX - tapStartClientX) > tapScollHeight) || (Math.abs(tapEndClientY - tapStartClientY) > tapScollHeight)) {
cancleClick = true;
}
})
sprite.on('touchend', function () {
console.log(33333)
console.log(cancleClick)
tapEndTime = event.timeStamp;
console.log(tapEndTime)
if (!cancleClick && (tapEndTime - tapStartTime) <= tapTime) {
cb();
}
})
};
tap(btn2, function () {
open('http://baidu.com');
});
防止滑动的时候触发点击事件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 上一篇文章主要讲述了TUN/TAP设备的一些原理,你可能会好奇,TUN/TAP设备究竟有什么用处呢?所以这篇文章,...
- 这篇文章想详细阐述一下有关于 TUN/TAP 设备的编程。 其实关于这两种设备的编程,基本上属于八股文,大家一般都...
- 一、jquery mobile 对手势触控提供了如下几个事件监听: tap:当用户点屏幕时触发 taphold:当...
- 题目来自freecodecamp上面的一道练习题 在线调试将字符串转换为 spinal case。Spinal c...