Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   блокировка прокрутки окна (https://javascript.ru/forum/events/11823-blokirovka-prokrutki-okna.html)

postalPain 15.09.2010 16:30

блокировка прокрутки окна
 
тема возможно баянная но, тем не менее.

есть окошко и мне нужно чтоб прокрутки в окне не двигались
будь-то это просто скролл или нажатия на кнопки прокрутки(квадратики со стрелочками).


P.S. решение body(overflow:hidden} не подходит так как при нажатии на курсорные клавиши происходит прокрутка документа.

subzey 15.09.2010 23:52

А Вам, прошу прощения, для каких целей?

exec 16.09.2010 05:06

<style type="text/css">
	body {
		overflow: hidden;
	}
</style>
<script type="text/javascript"> 
	(function () {
		var prevent = function ( e ) {
			if ( e.keyCode > 36 && e.keyCode < 41 ) {
				(e = e || window.event).preventDefault ? e.preventDefault() : (e.returnValue = false);
			}
		}
		if ( document.addEventListener ) {
			document.addEventListener( 'keypress', prevent, false );
		} else if ( document.attachEvent ) {
			document.attachEvent( 'onkeypress', prevent );
		} else {
			document.onkeypress = prevent;
		}
	})();
	setInterval(function () {
		document.body.scrollTop = 0;
	}, 30);
</script>

postalPain 16.09.2010 13:04

Цитата:

Сообщение от exec (Сообщение 70967)
<style type="text/css">
	body {
		overflow: hidden;
	}
</style>
<script type="text/javascript"> 
	(function () {
		var prevent = function ( e ) {
			if ( e.keyCode > 36 && e.keyCode < 41 ) {
				(e = e || window.event).preventDefault ? e.preventDefault() : (e.returnValue = false);
			}
		}
		if ( document.addEventListener ) {
			document.addEventListener( 'keypress', prevent, false );
		} else if ( document.attachEvent ) {
			document.attachEvent( 'onkeypress', prevent );
		} else {
			document.onkeypress = prevent;
		}
	})();
	setInterval(function () {
		document.body.scrollTop = 0;
	}, 30);
</script>



хороший ход, только придется еще и pageDown, pageUp, home, end ... глушить.

postalPain 16.09.2010 13:06

Цитата:

Сообщение от subzey (Сообщение 70955)
А Вам, прошу прощения, для каких целей?

для меня лично это академически интерес.

А если событие которое возникает перед скролом окна? А то scroll вызывается после, обидно ((.


Часовой пояс GMT +3, время: 16:50.