Запретить прокрутку родительского элемента, когда положение прокрутки внутреннего элемента достигает верха / низа? [дубликат]

На этот вопрос уже есть ответ:

У меня есть небольшой «плавающий ящик для инструментов» - div с position: fixed; переполнение: авто . Работает нормально.

Но при прокрутке внутри этого поля (колесиком мыши) и достижении нижнего ИЛИ верхнего элемента родительский элемент «берет на себя» «запрос прокрутки»: прокручивается документ за ящиком инструментов.
- Что раздражает, а не то, о чем «просил» пользователь.

Я использую jQuery и подумал, что могу остановить такое поведение с помощью event.stoppropagation ():
$ ("# toolBox"). Scroll (function (событие) {event.stoppropagation ()});

Он действительно входит в функцию, но, тем не менее, распространение все равно происходит (документ прокручивается)
- На удивление сложно найти эту тему в SO (и в Google), поэтому я должен спросить:
Как предотвратить распространение / всплытие события прокрутки?

Изменить:
Рабочее решение благодаря amustill (и Брэндону Аарону за плагин mousewheel здесь:
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();
        }
    }
});
190
задан Pandaiolo 13 May 2018 в 23:53
поделиться