Предотвратить прокрутку родительской страницы, когда мышь находится над встроенным iframe в Firefox
... без ограничения прокрутки внутри iframe или необходимости специально именовать / помечать все прокручиваемые элементы.
Представьте себе виджет Google Maps, встроенный в родительскую страницу. Очевидно, что при увеличении виджета вы не хотите, чтобы родительская страница прокручивалась.
Я думал, что ответ на мойпредыдущий вопрос решил проблему:
При прокрутке внутри фрейма тело ничего не знает о том, что там происходит. Но когда скроллер iframe достигает дна или вершины, прокрутка переходит к телу.
Отмените событие, которое распространяется из iframe.
Но решение не работает в Firefox, потому что Firefox не будет -по дизайну - распространять события, захваченные iframe, на родительскую страницу, но странным образом она будет прокручивать родительскую страницу. Увидетьjsfiddle здесь.
$('body').bind('mousewheel DOMMouseScroll', onWheel);
function onWheel (e){
if (e.target === iframe)
e.preventDefault();
console.log(e);
}
Итак, как я могу предотвратить прокрутку страницы, когда пользователь увеличивает содержимое во встроенном iframe в Firefox?