У меня есть поле <select>
со многими опциями, и вы можете прокручивать их. Когда вы переходите в нижнюю часть списка опций и продолжаете прокрутку, прокрутка "переполняется" в родительское окно и вместо этого прокручивает окно вниз. Есть ли способ отключить это, т.е. Когда вы прокручиваете нижнюю прокрутку вниз, отключена?
Вот скрипка. Чтобы получить эффект, который я описываю, наведите указатель мыши на несколько вариантов и прокрутите вниз (используя трекпад, колесо прокрутки и т.д.) До конца, затем продолжите прокрутку. Прокрутится вся страница. Мое желаемое поведение заключается в том, чтобы вся страница не прокручивалась при достижении нижней части опций выбора.
Единственный способ добиться того, что вы хотите, - использовать javascript. Логика довольно проста: при hover
вы можете добавить overflow: hidden;
к телу, затем по блоку select
элемента вы удаляете значение overflow
.
Код будет выглядеть примерно так (дайте поле выбора id из selectbox
):
document.getElementById('selectbox').onmouseenter = function(){
document.body.style.overflow = 'hidden';
};
document.getElementById('selectbox').onmouseout = function(){
document.body.style.overflow = 'auto';
};
demo: http://jsfiddle.net/LRCKn/6/ - вам просто нужно заставить его применить изменение css на элементах параметров.