//防止滑动的时候触发点击事件
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...