32 lines
686 B
JavaScript
32 lines
686 B
JavaScript
/**
|
|
* 工具函数
|
|
*/
|
|
|
|
/**
|
|
* 左滑返回手势
|
|
* @param {Function} callback 触发返回时执行的回调
|
|
* @returns {{ touchStartX: number, onTouchStart: Function, onTouchEnd: Function }}
|
|
*/
|
|
const createSwipeBack = (callback) => {
|
|
let touchStartX = 0
|
|
return {
|
|
onTouchStart: function(e) {
|
|
var t = e.touches && e.touches[0];
|
|
if (t) touchStartX = t.clientX;
|
|
},
|
|
onTouchEnd: function(e) {
|
|
var t = e.changedTouches && e.changedTouches[0];
|
|
if (!t) return;
|
|
var endX = t.clientX;
|
|
var dist = endX - touchStartX;
|
|
if (touchStartX < 80 && dist > 60) {
|
|
callback();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
createSwipeBack
|
|
}
|