Как запретить скролл body при открытии модального окна без прокрутки вверх страницы?
Здравствуйте,
Была задача запретить скролл body при открытии модального окна. Покопавшись в интернете, я нашел решение добавлять для body стили "overflow: hidden", но в таком случае страница прокручивалась вверх, а мне нужно, чтобы она оставалась на своей позиции и просто не прокручивалась.
Помогите решить проблему максимально простым способом. Спасибо.
Почитал комменты, ответы и не понял - нахрена убирать скролл, если надо заглушить событие прокрутки на элементе под модалкой?
Ну есть скроллбар, и что? Ну пусть будет.
Просто не реагируем на прокрутку.
Красивого и универсального решения не существует. Есть два варианта, при первом будет увеличиваться пространство страницы за счет исчезнувшего скролла, что само по себе не правильно (ну и запаришся искать все съесжающие элементы с fixed позишен), а второй, правильный вариант возможен только с броском страницы наверх (это можно испрвить вычисляя каждый раз расстояние прокрученное и добавлять top, но это УРОДСТВО ВСЕ).
Я забил и делаю с прокруткой. Сделать без прокрутки не сложно совсем, но это грязь.
Exploding, каким убразом pointer-events убирает скролл? Я не понимаю логику вашего решения. Такого способа не знаю. Ну добавили вы pointer-events к элементу, размеры которого превышают вьюпорт. Скролл как был так и остался.
wiyod, Тут смысл в том, чтобы не со скролом баловаться, а просто сделать элемент неюзабельным. Т.е. не реагирующим на события в отношении него, в т.ч. и на события скрола.