Предотвратите фоновую прокрутку при отображении всплывающего окна

У меня есть форма, которая отображена во всплывающем окне. После загрузки отображается серым фон, но пользователь может все еще прокрутить фоновое содержание вверх и вниз.

Как я препятствую тому, чтобы фон прокрутил?

Пример здесь

'электронная почта эта кавычка' связывается направо от снимка экрана PDF.

21
задан Alex.K. 27 October 2018 в 18:28
поделиться

2 ответа

Один из вариантов - временно установить переполнение ] свойство hidden в body , которое избавит от полос прокрутки, но вызовет небольшое мерцание при настройке страницы.

Другой вариант - нажать на событие $ (window) .scroll () и вернуть оттуда false. Это также вызовет небольшое мерцание, поскольку браузер не так быстро реагирует на оператор return false.

Лучше всего переместить обработчики событий щелчка в отдельный файл и выполнить там привязку:

$(function() {
    $('.emailPost').click(function() {
        $(window).scroll(function() { return false; });
        pageTracker._trackPageview('/onclick/emailquote');            
    });
});

Это должно предотвратить прокрутку страницы. Не забудьте удалить привязку после закрытия диалогового окна, иначе страницу больше нельзя будет прокручивать! Вы можете удалить привязки, используя:

$(window).unbind('scroll');
17
ответ дан 29 November 2019 в 20:25
поделиться

Не используйте тег # в своих ссылках!

Будет предпринята попытка прокрутки до привязки #, но поскольку она пуста, она переместится в верхнюю часть страницы.

Измените свои ссылки на:

(обратите внимание на href = "")

0
ответ дан 29 November 2019 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: