Меню выбора jQuery-UI не следует за движением прокрутки, когда оно находится внутри переполненного div - PullRequest
0 голосов
/ 05 января 2019

Когда я помещаю jQuery selectmenu в div, который имеет свойство CSS overflow: scroll и меньше его содержимого, тогда выпадающее меню не следует за прокруткой внутри переполненного div.

Смотрите пример здесь

https://codepen.io/Nighel123/pen/gZeQVd?editors=1000

Я нашел способ исправить это с помощью этого кода:

$(".demo").scroll(function(){
  $( "#salutation" ).selectmenu( "open" );
});

Но я думаю, что это не лучший способ решить проблему, поскольку раскрывающийся список, похоже, не следует элементу выбора точно, когда я пытаюсь выполнить код на своем компьютере. Кроме того, раскрывающееся меню открывается при прокрутке внутри переполненного элемента div, что также не соответствует ожидаемому поведению выпадающего меню.

Я также пытался вызвать событие прокрутки объекта окна, когда переполненный div прокручивается для запуска методов позиционирования в раскрывающемся меню jQuery. Но это не сработало вообще.

Я бы хотел, чтобы выпадающее меню следовало за моим пунктом выбора более точно при прокрутке переполненного элемента div. И, возможно, также получу менее уродливый хак по сравнению с тем, что я делал выше.

1 Ответ

0 голосов
/ 06 января 2019

Я нашел решение с помощью метода appendTo в меню выбора jQuery-UI. Просто добавьте выпадающее меню к прокручиваемому элементу div, и он работает!

...