Модальные диалоги JQuery ОТКЛЮЧИТЕ полосы прокрутки

Как вы можете видеть по этой ссылке, http://jsbin.com/ozapol/9 ,

JQuery отключает полосы прокрутки в некоторых версиях IE и последней версии Chrome. (Я еще не пробовал ничего другого ...)

Есть ли способ оставить полосы прокрутки включенными, чтобы иметь возможность прокручивать длинный длинный диалог?

Спасибо! Пока

Хорошее решение для Internet Explorer (Спасибо jk.)

html {overflow-y : scroll}

Жесткое решение для Chrome (Спасибо jk.)

В Chrome JqueryUI захватывает события мыши на полосах прокрутки. Это похоже на ошибку, указанную в приведенных выше ссылках. Чтобы удалить эти привязки, вы должны отвязать события каждый раз, когда вы создаете модальное диалоговое окно:

$("#longdialog").dialog({
     open: function(event, ui) {
        window.setTimeout(function() {
            jQuery(document).unbind('mousedown.dialog-overlay')
                            .unbind('mouseup.dialog-overlay');
        }, 100);
    },
   modal:true
});

Вот последний пример: http://jsbin.com/ujagov/2

Ссылки на отчеты об ошибках:

  1. http: //bugs.jqueryui. com / ticket / 4671
  2. http://wiki.jqueryui.com/w/page/34725121/Visual-Test-Page-Cleanup

7
задан Nicolas Thery 26 January 2012 в 08:43
поделиться