Я использую диалоговое окно jQuery UI с modal=true
. В Chrome и Safari это отключает прокрутку с помощью полосы прокрутки и клавиш курсора (прокрутка с помощью колеса мыши и страницы вверх / вниз по-прежнему работает).
Это проблема, если диалоговое окно слишком длинное, чтобы поместиться на одной странице - пользователи на ноутбуке разочарованы.
Кто-то поднял это три месяца назад на трекере ошибок jQuery - http://dev.jqueryui.com/ticket/4671 - не похоже, что исправление является приоритетом. :)
Так же, как и любой:
- есть исправление для этого?
- есть предлагаемый обходной путь, который даст хороший опыт использования?
Я экспериментирую с наведением мыши / прокруткой на части формы, но это не очень хорошее решение: (
РЕДАКТИРОВАТЬ: поддерживает Роуэн Beentje (который не на SO afaict) для поиска решения этой проблемы. Пользовательский интерфейс jQuery предотвращает прокрутку, захватывая события mouseup / mousedown. Таким образом, приведенный ниже код, кажется, исправляет это:
$("dialogId").dialog({
open: function(event, ui) {
window.setTimeout(function() {
jQuery(document).unbind('mousedown.dialog-overlay')
.unbind('mouseup.dialog-overlay');
}, 100);
},
modal: true
});
Используйте на свой страх и риск, я не знаю, какое другое немодальное поведение может разрешить отмена связывания этого материала.