Skip to content
Advertisement

Prevent scrolling of parent element when inner element scroll position reaches top/bottom?

I have a little “floating tool box” – a div with position:fixed; overflow:auto. Works just fine.

But when scrolling inside that box (with the mouse wheel) and reaching the bottom OR top, the parent element “takes over” the “scroll request” : The document behind the tool box scrolls.
– Which is annoying and not what the user “asked for”.

I’m using jQuery and thought I could stop this behaviour with event.stoppropagation():
$("#toolBox").scroll( function(event){ event.stoppropagation() });

It does enter the function, but still, propagation happens anyway (the document scrolls)
– It’s surprisingly hard to search for this topic on SO (and Google), so I have to ask:
How to prevent propagation / bubbling of the scroll-event ?

Edit:
Working solution thanks to amustill (and Brandon Aaron for the mousewheel-plugin here:
https://github.com/brandonaaron/jquery-mousewheel/raw/master/jquery.mousewheel.js

JavaScript

Advertisement

Answer

It’s possible with the use of Brandon Aaron’s Mousewheel plugin.

Here’s a demo: http://jsbin.com/jivutakama/edit?html,js,output

JavaScript
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement