jQuery Mobiles 스 와이프 이벤트를 사용할 때 콜백 함수에서 방향과 거리를 구할 수 있습니까? 나는 official docs에서 그것에 대해 아무것도 발견하지 못했습니다.jQuery Mobiles 스 와이프 이벤트로 방향 및 거리를 얻는 방법
TouchSwipe 좋은 대안이지만 나는 tap
이벤트 양식 jQuery Mobile이 필요하고 두 개의 라이브러리를 포함하고 싶지 않습니다.
jQuery Mobiles 스 와이프 이벤트를 사용할 때 콜백 함수에서 방향과 거리를 구할 수 있습니까? 나는 official docs에서 그것에 대해 아무것도 발견하지 못했습니다.jQuery Mobiles 스 와이프 이벤트로 방향 및 거리를 얻는 방법
TouchSwipe 좋은 대안이지만 나는 tap
이벤트 양식 jQuery Mobile이 필요하고 두 개의 라이브러리를 포함하고 싶지 않습니다.
확인하시기 바랍니다 : 그것은 단지 jQuery를 모바일로 작동 할 수 있도록 http://jsfiddle.net/Gajotres/K69AJ/
이 예제는 jQuery를 모바일 이벤트로 이루어진다. Windows 및 Android 플랫폼에서 테스트되었습니다.
Vmouse 이벤트는 데스크톱과 모바일 브라우저 간의 차이를 줄이기 위해 만들어졌습니다.
event.preventDefault();
그것은 플랫폼은 터치 움직임 감지와 불쾌한 버그가, 안드로이드 플랫폼에 필요한 :
또한이 라인을 확인할 수 있습니다. 버그 보고서 : http://code.google.com/p/android/issues/detail?id=19827
var gnStartX = 0;
var gnStartY = 0;
var gnEndX = 0;
var gnEndY = 0;
$(document).on('vmousedown', function(event){
gnStartX = event.pageX;
gnStartY = event.pageY;
event.preventDefault();
});
$(document).on('vmouseup', function(event){
gnEndX = event.pageX;
gnEndY = event.pageY;
var distance = Math.ceil(nthroot(Math.pow((gnEndX - gnStartX),2) + Math.pow((gnEndY - gnStartY),2), 2));
if(Math.abs(gnEndX - gnStartX) > Math.abs(gnEndY - gnStartY)) {
if(gnEndX > gnStartX) {
alert("Swipe Right - Distance " + distance + 'px');
} else {
alert("Swipe Left - Distance " + distance + 'px');
}
} else {
if(gnEndY > gnStartY) {
alert("Swipe Bottom - Distance " + distance + 'px');
} else {
alert("Swipe Top - Distance " + distance + 'px');
}
}
event.preventDefault();
});
function nthroot(x, n) {
try {
var negate = n % 2 == 1 && x < 0;
if(negate)
x = -x;
var possible = Math.pow(x, 1/n);
n = Math.pow(possible, n);
if(Math.abs(x - n) < 1 && (x > 0 == n > 0))
return negate ? -possible : possible;
} catch(e){}
}
+1 답변. – Omar
hammer.js를 사용할 수도 있습니다. 스 와이프 및 탭과 같은 두 가지 이벤트가 있습니다. hammer.js에서 방향과 거리를 얻을 수 있습니다. 탭 이벤트는 최신 jQuery 버전의 일부이기도합니다. 탭 이벤트에만 jquery-mobile을 포함 할 필요가 없습니다.
는 당신을 위해 작동 바랍니다.
모든 터치 이벤트를 처리 할 수있는 또 다른 플러그인이 있습니다. 예를 들어 근무
어떤 플랫폼이 필요합니까? – Gajotres