Проблемы пользовательского интерфейса jQuery с таблицами в диалогах

#jquery-ui #dialog

#jquery-пользовательский интерфейс #диалог

Вопрос:

У меня есть диалоговое окно пользовательского интерфейса jQuery, к которому я применил дополнение, а внутри диалогового окна у меня есть длинная таблица. Затем я настраиваю диалоговое окно на ограниченную высоту, чтобы иметь полосу прокрутки.

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

Вот редактируемый пример:

http://jsbin.com/okolap/4/edit

Ответ №1:

Кажется, что это происходит только тогда, когда вы устанавливаете ширину диалогового окна на auto .

Одним из обходных путей является установка ширины таблицы на 100% и сброс ширины диалогового окна до фиксированной длины. К длине необходимо добавить отступ, равный или превышающий ширину полосы прокрутки. Например:

 var newWidth = $('.Dialog').width()   50;
$('.Dialog').width(newWidth);
  

Посмотрите это в действии: http://jsbin.com/okolap/10 /.

Комментарии:

1. Да, я тоже это понял. Я нашел плагин jQuery для определения размера полосы прокрутки под названием «getscrollbarwidth» от Брэндона Аарона. Это работает, но потом какой-то разработчик jQuery сказал мне, что width: «auto» недопустимый параметр. Возможно, в этом причина проблемы, хотя и не уверен. Мне придется пойти на обходной путь, поскольку я не могу предсказать ширину таблицы, поэтому мне нужно сделать это автоматически.