KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm working on an iPad-based web app, and need to prevent overscrolling so that it seems less like a web page. I'm currently using this to freeze the viewport and disable overscroll: document.body.addEventListener('touchmove',function(e){ e.preventDefault(); }); This works great to disable overscroll but my app has several scrollable divs, and the above code prevents them from scrolling . I'm targeting iOS 5 and above only so I've avoided hacky solutions like iScroll. Instead I'm using this CSS for my scrollable divs: .scrollable { -webkit-overflow-scrolling: touch; overflow-y:auto; } This works without the document overscroll script, but doesn't solve the div scrolling problem. Without a jQuery plugin, is there any way to use the overscroll fix but exempt my $('.scrollable') divs? EDIT: I found something that's a decent solution: // Disable overscroll / viewport moving on everything but scrollable divs $('body').on('touchmove', function (e) { if (!$('.scrollable').has($(e.target)).length) e.preventDefault(); }); The viewport still moves when you scroll past the beginning or end of the div. I'd like to find a way to disable that as well.
Tags (comma-separated)
Save Edits
Cancel