Как отключить прокрутку тела, но не дочернего элемента, с помощью jQuery? ⇐ Jquery
-
Anonymous
Как отключить прокрутку тела, но не дочернего элемента, с помощью jQuery?
Я хочу отключить прокрутку тела, когда у меня есть всплывающий элемент div (например, для просмотра фотогалереи или чего-то подобного), однако я не хочу, чтобы прокрутка была отключена для дочернего элемента.
Я сейчас использую это, которое отключает все прокрутки:
$('body').bind('mousewheel DOMMouseScroll', function(e) { вар прокрутки = ноль; if (e.type == 'колесо мыши') { ScrollTo = (e.originalEvent.wheelDelta * -1); } иначе if (e.type == 'DOMMouseScroll') { ScrollTo = 40 * e.originalEvent.detail; } если (scrollTo) { е.preventDefault(); $(this).scrollTop(scrollTo + $(this).scrollTop()); } }); Итак, если у меня есть класс элемента с именем «всплывающее окно», как я могу это принять? Или, еще лучше, как я могу запретить событию влиять на что-либо, кроме тега body?
Я хочу отключить прокрутку тела, когда у меня есть всплывающий элемент div (например, для просмотра фотогалереи или чего-то подобного), однако я не хочу, чтобы прокрутка была отключена для дочернего элемента.
Я сейчас использую это, которое отключает все прокрутки:
$('body').bind('mousewheel DOMMouseScroll', function(e) { вар прокрутки = ноль; if (e.type == 'колесо мыши') { ScrollTo = (e.originalEvent.wheelDelta * -1); } иначе if (e.type == 'DOMMouseScroll') { ScrollTo = 40 * e.originalEvent.detail; } если (scrollTo) { е.preventDefault(); $(this).scrollTop(scrollTo + $(this).scrollTop()); } }); Итак, если у меня есть класс элемента с именем «всплывающее окно», как я могу это принять? Или, еще лучше, как я могу запретить событию влиять на что-либо, кроме тега body?
Мобильная версия