我在iOS中使用jQuery触摸事件时遇到了问题。
以下是我已经完成的内容:
$(document).ready(function(){
var iX = 0,iY = 0,fX = 0,fY = 0;
document.addEventListener('touchstart', function(e) {
var touch = e.touches[0];
iX = touch.pageX;
iY = touch.pageY;
}, false);
document.addEventListener('touchmove', function(e) {
var touch = e.touches[0];
fX = touch.pageX;
fY = touch.pageY;
}, false);
document.addEventListener('touchcancel', function() {
var dX = fX - iX;
var dY = fY - iY;
var tg = dY/dX;
if(tg < 0) tg = -tg;
if(tg <= 0.5 && fX > iX) rightSwipe()
else if(tg <= 0.5 && fX < iX) leftSwipe()
}, false);
function rightSwipe(){
$("#body").removeClass("bg2");
$("#body").addClass("bg");
}
function leftSwipe(){
$("#body").removeClass("bg");
$("#body").addClass("bg2");
}
});
当你触摸屏幕时,它会保存手指的位置。当你移动手指并释放时,它会保存最后一个手指位置。通过简单的几何计算,它可以发现你滑动的方向。
这个脚本在使用谷歌浏览器和安卓默认浏览器的Android 4.1.2上运行非常良好。但是在使用Safari的iOS上尝试时,它不起作用。
有人能帮忙吗?
on
之类的好操作。 - Cymenon
方法的示例。 - Cymenfunction upHandler(event)
,或者你可以通过arguments
伪数组来访问它(但是最好使用命名参数)。 - Cymen