Выпадающий список Dojo Mobile ComboBox неуместен в iOS8/Safari

При открытии моего мобильного приложения Dojo на iPad с iOS 8 раскрывающийся список ComboBox размещается неправильно. Мой ComboBox находится очень близко к нижней части экрана (в одностраничном приложении без прокрутки), поэтому раскрывающийся список почти всегда должен отображаться над CombBox. Это прекрасно работает во всех браузерах/устройствах, которые я тестировал, кроме Safari на iPad. Там он всегда появляется под полем со списком и прокручивает все остальное содержимое с экрана.

Чтобы убедиться, что это не проблема с моим приложением, я открыл тесты ComboBox dojox/mobile на iPad, и они ведут себя одинаково. В частности, dojox/mobile/tests/test_ComboBox-widepage.html показывает это лучше всего. У меня отключен ввод текста в ComboBox (чтобы экранные клавиатуры устройства не появлялись), и вы можете воспроизвести это на тестовой странице, добавив это:

ready(function () {
    domAttr.set(registry.byId('dropDown').textbox, 'readOnly', true);               
});

Я действительно не знаю, с чего начать поиск решения этой проблемы. Ничто в ComboBox.js не выглядит неправильным, что имеет смысл, поскольку он работает почти везде. Есть ли какое-нибудь быстрое исправление, которое я могу установить, или мне нужно сообщить об этом как об ошибке и ждать исправления?

Изменить: добавлены скриншоты. Это все dojox/mobile/tests/test_ComboBox-widepage.html. Нажмите, чтобы увидеть их в полном размере.

Ширина

Ширина

Ширина


person James Irwin    schedule 13.11.2014    source источник
comment
Я должен добавить, что я использую Dojo 1.10.2.   -  person James Irwin    schedule 13.11.2014
comment
можешь прикрепить скрин??   -  person kumar    schedule 14.11.2014
comment
Скриншоты добавлены выше.   -  person James Irwin    schedule 14.11.2014


Ответы (1)


Насколько я вижу, это та же проблема, что и на https://bugs.dojotoolkit.org/ticket/18317. Исправление уже доступно в мастере репозитория и будет доступно в версии 1.10.3. Вы можете протестировать исправление (https://github.com/dojo/dojox/commit/86d34bcd9b6b11bf23a1ed080398a8067a4b349c ) на вашей стороне.

Тем не менее, я не думаю, что сам по себе факт прокрутки страницы при открытии раскрывающегося списка ComboBox можно считать дефектом, как и тот факт, что раскрывающийся список отображается либо сверху, либо снизу элемента ввода. В качестве альтернативы решению, упомянутому выше, вы можете посмотреть, соответствует ли добавление registry.byId('dropDown').set("dropDownPosition", ["above"]); вашим потребностям.

person Adrian Vasiliu    schedule 18.11.2014
comment
Спасибо за внимание к этому и за ваш ответ. Исправление, которое выйдет в 1.10.3, помогло. Раньше я пытался явно установить dropDownPosition на 'above', но, к сожалению, он просто помещает раскрывающийся список в верхнюю часть ComboBox, а в остальном открывается так же (и с теми же проблемами, что и) позиция 'bottom'. - person James Irwin; 18.11.2014
comment
Когда ожидается выпуск 1.10.3? - person James Irwin; 18.11.2014
comment
И примерно через 1 месяц доступна версия 1.10.3. Еще раз спасибо @Adrian! - person James Irwin; 17.12.2014