আমি একটি আইপ্যাড-ভিত্তিক ওয়েব অ্যাপে কাজ করছি, এবং ওভারস্রোলিং প্রতিরোধ করা দরকার যাতে এটি কোনও ওয়েব পৃষ্ঠার মতো কম মনে হয়। আমি বর্তমানে ভিউপোর্টটি হিমশীতল এবং ওভারসক্রোলটি অক্ষম করার জন্য এটি ব্যবহার করছি:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
এটি ওভারসক্রোল অক্ষম করতে দুর্দান্ত কাজ করে তবে আমার অ্যাপ্লিকেশনটিতে বেশ কয়েকটি স্ক্রোলযোগ্য ডিভ রয়েছে এবং উপরের কোডটি তাদের স্ক্রোলিং থেকে রোধ করে ।
আমি কেবল আইওএস 5 এবং তারপরের উপরে লক্ষ্যবস্তু করছি তাই আমি আইস্ক্রোলের মতো হ্যাকি সমাধানগুলি এড়িয়ে চলেছি। পরিবর্তে আমি আমার স্ক্রোলযোগ্য ডিভ জন্য এই সিএসএস ব্যবহার করছি:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
এটি দস্তাবেজ ওভারস্ক্রোল স্ক্রিপ্ট ব্যতীত কাজ করে তবে ডিভ স্ক্রোলিং সমস্যার সমাধান করে না।
জিকুয়েরি প্লাগইন ব্যতীত ওভারসক্রোল ফিক্সটি ব্যবহার করার ছাড়াও আমার $ ('।' স্ক্রোলযোগ্য ') ডিভগুলি ছাড় দেওয়া কি কোনও উপায় আছে?
সম্পাদনা:
আমি এমন কিছু খুঁজে পেয়েছি যা একটি শালীন সমাধান:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
আপনি ডিভের শুরু বা শেষের দিকে স্ক্রোল করলে ভিউপোর্টটি এখনও সরে যায়। আমি এটি নিষ্ক্রিয় করার একটি উপায়ও খুঁজতে চাই।