Предотвратить прокрутку родительского элемента, когда положение прокрутки внутреннего элемента достигает верхнего/нижнего?
у меня есть маленький "плавающий ящик для инструментов" - div с position:fixed; overflow:auto.
Прекрасно работать.
но при прокрутке внутри этого поля (с колесом мыши) и достижении нижней или верхней части родительский элемент "берет на себя" "запрос прокрутки" : документ за ящиком инструментов прокручивается.
- Что раздражает, а не то, что пользователь "просит".
Я использую jQuery и думал, что я мог бы остановить это поведение с событием.stoppropagation ():$("#toolBox").scroll( function(event){ event.stoppropagation() });
Это входит ли функция, но все же, распространение происходит в любом случае (документ прокручивается)
- Удивительно трудно искать эту тему на SO (и Google), поэтому я должен спросить:
Как предотвратить распространение / пузырение события прокрутки ?
Edit:
Рабочее решение благодаря amustill (и Брэндон Аарон для колесика мыши-плагин here:
https://github.com/brandonaaron/jquery-mousewheel/raw/master/jquery.mousewheel.js
$(".ToolPage").bind('mousewheel', function(e, d)
var t = $(this);
if (d > 0 && t.scrollTop() === 0) {
e.preventDefault();
}
else {
if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) {
e.preventDefault();
}
}
});
Comments