Saya sedang mengerjakan aplikasi web berbasis iPad, dan perlu mencegah overscrolling sehingga tidak terlihat seperti halaman web. Saat ini saya menggunakan ini untuk membekukan viewport dan menonaktifkan overscroll:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Ini berfungsi dengan baik untuk menonaktifkan overscroll tetapi aplikasi saya memiliki beberapa div yang dapat digulir, dan kode di atas mencegahnya menggulir .
Saya hanya menargetkan iOS 5 dan yang lebih baru jadi saya telah menghindari solusi peretasan seperti iScroll. Sebagai gantinya saya menggunakan CSS ini untuk div saya yang dapat digulir:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Ini berfungsi tanpa skrip overscroll dokumen, tetapi tidak menyelesaikan masalah pengguliran div.
Tanpa plugin jQuery, apakah ada cara untuk menggunakan perbaikan overscroll tetapi mengecualikan div $ ('. Scrollable') saya?
EDIT:
Saya menemukan sesuatu yang merupakan solusi yang layak:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
Area pandang masih bergerak saat Anda menggulir melewati awal atau akhir div. Saya ingin menemukan cara untuk menonaktifkannya juga.