2
我在iOS中遇到了jQuery touch事件問題。jQuery touch事件iOS不會工作
這裏是我做了什麼:
$(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上使用Google Chrome和Android默認瀏覽器運行良好。 當我在iOS上使用Safari嘗試它時,它不起作用。
有人可以幫忙嗎?
NOP。我測試過並且touchstart和touchmove作品。但touchcancel和touchend都不起作用。 – 2013-02-21 01:54:15
我想你沒有使用jQuery。我會更新我的答案。當使用jQuery時,它會使用'on'等方式爲你做這樣的好事。 – Cymen 2013-02-21 02:01:07
謝謝!有用! 你可以做一個使用事件監聽器+ jQuery的例子嗎? – 2013-02-21 02:04:40