उदाहरण कार्य करना: http://jsfiddle.net/Gajotres/K69AJ/
यह उदाहरण jQuery मोबाइल घटनाओं के साथ किया जाता है तो यह केवल jQuery मोबाइल के साथ काम करेंगे। विंडोज और एंड्रॉइड मंच पर परीक्षण किया।
डेस्कटॉप और मोबाइल ब्राउज़र के बीच अंतर को पुल करने के लिए 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){}
}
आपको इसके लिए किस प्लेटफॉर्म की आवश्यकता है? – Gajotres