मुझे किसी निश्चित घटना के दौरान जेएस और/या JQuery का उपयोग करके मोबाइल डिवाइस पर स्क्रॉलिंग को रोकने की आवश्यकता है। मेरे पास एक आकृति है, जब उपयोगकर्ता आकृति को खोलता है तो स्क्रॉलिंग अक्षम हो जाने के बाद, स्क्रॉलिंग फिर से सक्षम हो जाएगी। लक्ष्य उपकरणों हैं:किसी विशिष्ट स्क्रीन आकार के लिए स्मार्ट फ़ोन पर स्क्रॉलिंग को रोकें
- किसी भी IPhone 4s से अप करने के लिए नवीनतम एक (5 + 6 शामिल)
जिन कारणों से मैंने कोशिश की है, लेकिन ऐसा नहीं हो पाया में से कुछ हैं:
Method1:
document.addEventListener('touchstart', this.touchstart);
document.addEventListener('touchmove', this.touchmove);
function touchstart(e) {
e.preventDefault()
}
function touchmove(e) {
e.preventDefault()
}
विधि 2:
// left: 37, up: 38, right: 39, down: 40,
// spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36
var keys = {37: 1, 38: 1, 39: 1, 40: 1};
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function preventDefaultForScrollKeys(e) {
if (keys[e.keyCode]) {
preventDefault(e);
return false;
}
}
function disableScroll() {
if (window.addEventListener) // older FF
window.addEventListener('DOMMouseScroll', preventDefault, false);
window.onwheel = preventDefault; // modern standard
window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
window.ontouchmove = preventDefault; // mobile
document.onkeydown = preventDefaultForScrollKeys;
}
function enableScroll() {
if (window.removeEventListener)
window.removeEventListener('DOMMouseScroll', preventDefault, false);
window.onmousewheel = document.onmousewheel = null;
window.onwheel = null;
window.ontouchmove = null;
document.onkeydown = null;
}
कोई अन्य सुझाव?
दुर्भाग्य से यह डिवाइस पर काम नहीं करता है, यह लैपटॉप पर ठीक काम करता है जैसे मैंने ऊपर वर्णित विधियों। कोई अन्य सुझाव? –