H5 开发中对touch事件的处理
export function handleTouch(element, callback, left, right) {var startX, startY, startT, isMove, isTouchEnd, deltaX, direction, pageWidth = document.body.clientWidthelement.addEventListener("touchstart", function (e) {if (e.touches.length === 1 || isTouchEnd) {var touch = e.touches[0]startX = touch.pageXstartY = touch.pageYstartT = +new Date() isMove = false isTouchEnd = false }element.addEventListener("touchmove", function (e) {if (isTouchEnd) returnvar touch = e.touches[0]deltaX = touch.pageX - startX;var deltaY = touch.pageY - startY;isMove = truedirection = deltaX > 0 ? "right" : "left";})})element.addEventListener("touchend", function (e) {var deltaT = +new Date() - startT; if (isMove && !isTouchEnd) {isTouchEnd = true if (Math.abs(deltaX) / pageWidth < 0.20) {} else {console.log('滑动距离大于屏幕的20%', deltaX, pageWidth)direction === "left"? callback(left): callback(right)}}})
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!