Кросбраузерное отключение прокрутки
В один из моментов я решил показать на экране всплывающее окно и при этом выключить все остальные блоки, то есть убрать прокрутку из основного блока с контентом, лучшим решение я посчитал прямым заданием таких параметорв через:
document.body.style.overflow = "hidden";
document.body.style.overflow = "auto";
но такое решение не работает в IE 7, по этому я решил его дополнить решением которое откоючает нажатие клавиш и непосредственно сам скрол:
/*
Коды клавиш, которые вызывают прокрутку:
33, // pageUp
34, // pageDown
35, // end
36, // home
37, // left
38, // up
39, // right
40 // down
*/
document.onmousewheel = document.onwheel = function() {
return false;
};
document.addEventListener ("MozMousePixelScroll",
function() { return false }, false);
document.onkeydown = function(e) {
if (e.keyCode >= 33 && e.keyCode <= 40) return false;
}
Для того чтобы вернуть всё в жизнь false необходимо заменить на true.