Tôi đang làm việc trên một ứng dụng web dựa trên iPad và cần ngăn việc cuộn quá mức để nó có vẻ giống một trang web hơn. Tôi hiện đang sử dụng cái này để đóng băng chế độ xem và vô hiệu hóa quá trình cuộn:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Điều này hoạt động tuyệt vời để tắt cuộn quá mức nhưng ứng dụng của tôi có một số div có thể cuộn và đoạn mã trên ngăn chúng cuộn .
Tôi chỉ nhắm mục tiêu iOS 5 trở lên vì vậy tôi đã tránh các giải pháp hacky như iScroll. Thay vào đó, tôi đang sử dụng CSS này cho các div có thể cuộn của mình:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Điều này hoạt động mà không cần tập lệnh cuộn qua tài liệu, nhưng không giải quyết được vấn đề cuộn div.
Nếu không có plugin jQuery, có cách nào để sử dụng bản sửa lỗi quá cuộn nhưng miễn các div $ ('. Scrollable') của tôi không?
BIÊN TẬP:
Tôi đã tìm thấy một cái gì đó là một giải pháp tốt:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
Khung nhìn vẫn di chuyển khi bạn cuộn qua phần đầu hoặc phần cuối của div. Tôi cũng muốn tìm cách vô hiệu hóa điều đó.