Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   кросбраузерная включеня/отключеня функционала ролик мыши (https://javascript.ru/forum/misc/29609-krosbrauzernaya-vklyuchenya-otklyuchenya-funkcionala-rolik-myshi.html)

dadli 04.07.2012 18:42

кросбраузерная включеня/отключеня функционала ролик мыши
 
здравствуите, есть две кнопки, для включеня/отключеня врашеня ролика.

отключение сделал так и работает:
var scroll_off = function(e) {
	e.preventDefault();
};
			
$("#disable_scroll").on("click", function () {
			if ("onmousewheel" in document) { // для всех браузерах кроме Фирефох
				document.onmousewheel = scroll_off;
			} else { // для Фирефох
				document.addEventListener('DOMMouseScroll', scroll_off);
			}
});



но не получается снова включить врашеня ролика, не получается толко Фирефохе, в осталних браузерах работает, не можете сказать где я ошибаю? почему в фирефох-е не включается ролик снова?
вот код:
var scroll_on = function (e) {};
		
$("#enable_scroll").on("click", function () {
				if ("onmousewheel" in document) {
					document.onmousewheel = scroll_on;
				} else {
					document.addEventListener('DOMMouseScroll', scroll_on);
				}
});

Deff 04.07.2012 18:53

<script type="text/javascript">
var scroll_off = function(e) {
	e.preventDefault();
};
			
$("#disable_scroll").on("click", function () {
			if ("onmousewheel" in document) { // для всех браузерах кроме Фирефох
				document.onmousewheel = scroll_off;
			} else { // для Фирефох
				document.addEventListener('DOMMouseScroll', scroll_off);
			}
});


var scroll_on = function (e) {};
		
$("#enable_scroll").on("click", function () {
				if ("onmousewheel" in document) {
					document.onmousewheel = function(e){}
				} else {
					document.removeEventListener('DOMMouseScroll', scroll_off);
					document.addEventListener('DOMMouseScroll', scroll_on);
				}
});




</script>

dadli 04.07.2012 18:58

Deff,
я очень благодарен вам, работает отлично

Deff 04.07.2012 19:16

Цитата:

Сообщение от dadli
я очень благодарен

Я возможно поспешил
думаю стоит добавить
document.removeEventListener('DOMMouseScroll', scroll_on); и в первую функцию


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