@Romich777

Как запретить срабатывания события scroll, если оно возникло не в блоке, над которым сейчас курсор?

На сайте есть блок с гуглокартой когда скролиш сайт и курсор мыши попадает на этот блок (перемещается страница а не курсор) срабатывает событие блока карты и вместо скрола имеем zoom.

Кого еще не устраивает такое поведение и как с ним бороться?
  • Вопрос задан
  • 672 просмотра
Пригласить эксперта
Ответы на вопрос 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Как отключить прокрутку колесиком на гугл карте не используя API?
Если нативная прокрутка заменена на вашу реализацию, то запрещать/разрешать реакцию можно, ориентируясь на начало/окончание движения. Иначе вы просто не знаете, попал ли курсор на блок с картой в результате перемещения курсора относительно окна, или же в результате перемещения документа относительно окна, ведь в процессе прокрутки колеса возможны перемещения курсора.

Также можно при инициализации карты отключить зуммирование при использовании колеса мыши.
new google.maps.Map(..., {
	...
	scrollwheel: false
});

Аналогичный первому варианту результат можно получить, используя метод setOptions()
var map = new google.maps.Map(...);

// Отменяем реакцию
map.setOptions({
	scrollwheel: false
});

// Возвращаем реакцию
map.setOptions({
	scrollwheel: true
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы