js的左右上下滑動觸屏事件,主要有三個事件:touchstart,touchmove,touchend。這三個事件最重要的屬性是 pageX和 pageY,表示X,Y座標。
touchstart在觸控開始時觸發事件
touchend在觸控結束時觸發事件
touchmove這個事件比較奇怪,按道理在觸控到過程中不斷激發這個事件才對,但是在部分裝置中,在 touchstart 激發後激發一次,然後剩餘的都和 touchend 差不多同時激發。
這三個事件都都有一個 timeStamp 的屬性,檢視 timeStamp 屬性,可以看到順序是 touchstart -> touchmove ->touchmove -> … -> touchmove ->touchend。
下面是一段程式碼例項:
PS:1.touch事件跟click事件是不會被同時觸發的。現在的移動裝置做的比較好,已經把這個問題完美的避免掉了。
2.注意觸控的開始和結束位置的位移大小。如果位移小過小應該不做任何動作。
js的左右上下滑動觸屏事件,主要有三個事件:touchstart,touchmove,touchend。這三個事件最重要的屬性是 pageX和 pageY,表示X,Y座標。
touchstart在觸控開始時觸發事件
touchend在觸控結束時觸發事件
touchmove這個事件比較奇怪,按道理在觸控到過程中不斷激發這個事件才對,但是在部分裝置中,在 touchstart 激發後激發一次,然後剩餘的都和 touchend 差不多同時激發。
這三個事件都都有一個 timeStamp 的屬性,檢視 timeStamp 屬性,可以看到順序是 touchstart -> touchmove ->touchmove -> … -> touchmove ->touchend。
下面是一段程式碼例項:
document.getElementsByTagName("body")[0].addEventListener("touchstart", function (e) { nStartY = e.targetTouches[0].pageY; nStartX = e.targetTouches[0].pageX; });document.getElementsByTagName("body")[0].addEventListener("touchend", function (e) { nChangY = e.changedTouches[0].pageY; nChangX = e.changedTouches[0].pageX;PS:1.touch事件跟click事件是不會被同時觸發的。現在的移動裝置做的比較好,已經把這個問題完美的避免掉了。
2.注意觸控的開始和結束位置的位移大小。如果位移小過小應該不做任何動作。