У меня есть вертикальная прокрутка на странице, которая также прокручивается по вертикали.
Когда дочерний элемент прокручивается с помощью колеса мыши и достигает верхней или нижней части полосы прокрутки, страница (тело) начинает прокручиваться. Пока мышь находится над дочерним элементом div, я бы хотел, чтобы прокрутка страницы (тела) была заблокирована.
Этот пост SO (прокрутите вниз до выбранного ответа) хорошо демонстрирует проблему.
Этот вопрос SO по сути такой же, как мой, но выбранный ответ заставляет содержимое моей страницы заметно сдвигаться по горизонтали, когда полоса прокрутки исчезает и появляется снова.
Я думал, что может быть решение, которое использует event.stopPropagation (), но не может заставить что-либо работать. В ActionScript такого рода вещи можно было бы решить, поместив обработчик колесика мыши на дочерний элемент div, который вызывает stopPropagation () для события до того, как оно достигнет элемента body. Поскольку JS и AS являются языками ECMAScript, я подумал, что эта концепция может быть переведена, но, похоже, она не работает.
Есть ли решение, которое предотвращает смещение содержимого моей страницы? Скорее всего, используя stopPropagation, а не CSS-исправление? Ответы JQuery приветствуются, как и чистый JS.