मै इस्तेमाल कर रहा हूँ touchmove
, touchstart
तथा touchend
से कार्य करता है JQuery Mobile
। मैं ऊर्ध्वाधर स्क्रॉल को अक्षम करते समय कोशिश कर रहा हूं touchstart
और जब इसे वापस सक्षम करें touchend
शुरू हो रहा है। मैंने कुछ चीजें आजमाई हैं:
जोड़ा जा रहा है
overflow: hidden
शरीर के लिए: यह क्रोम ब्राउज़र के लिए ठीक काम करता है लेकिन फ़ायरफ़ॉक्स एंड्रॉइड के लिए काम नहीं करता हैजब शरीर को बाइंडिंग और अनबाइंडिंग स्क्रॉलिंग इवेंट
touchstart
इवेंट निकाल दिया गया औरtouched
निकाल दिया - Didn "t काम बिल्कुल (मुझे यकीन है कि मैंने इसे गलत किया)। नीचे कोड है।
कोड:
$(document).on("touchstart", ".amount-container", function(event){
$(".notify-cart").addClass("show");
if(event.touches.length == event.changedTouches.length) {
monitor = {
x: event.touches[0].clientX,
y: event.touches[0].clientY
};
}
}).on("touchend", ".amount-container", function(){
$(".notify-cart").removeClass("show");
$("body").removeClass("overflowhide");
monitor = {};
}).on("touchmove mousemove", ".amount-container", function(event){
if(Math.abs(event.changedTouches[0].clientX - monitor.x) > Math.abs(event.changedTouches[0].clientY - monitor.y)) {
}
else{
event.preventDefault();
}
});
// To Prevent Scrolling while Swipe/touchmove
var touchScroll = function( event ) {
event.preventDefault();
};
मैंने कुछ अन्य चीजों की भी कोशिश की। फ़ायरफ़ॉक्स में कुछ भी काम नहीं किया। क्या इस समस्या को हल करने का एक बेहतर तरीका है। आपको किसी और चीज़ की ज़रुरत हो तो मुझे बताएं।
उत्तर:
जवाब के लिए 0 № 1मैं सकारात्मक नहीं हूँ "यह काम करेगा, लेकिन प्रतिस्थापित करने का प्रयास करें
var touchScroll = function( event ) {
event.preventDefault();
};
साथ में
document.body.addEventListener("touchstart", function(e){e.preventDefault();
});