В моем приложении gwt на некоторых экранах я создаю диалоговое окно с формой ввода. Я хотел бы иметь возможность использовать свойство tabindex, но только в этом диалоговом окне. (т. е.: сначала отбирает первое и последнее поле этого диалогового окна). Прямо сейчас, если я нажимаю вкладку, когда выбрано последнее поле, фокус переместится на первый индекс вкладки, который является элементом за диалоговым окном (установленным как стекло). Это довольно раздражает, так как теперь нужно несколько раз вводить вкладку, пока фокус не вернется в первое поле диалогового окна. Установка диалогового окна в режим модальности еще хуже, так как как только вы выходите за пределы диалогового окна, клавиша табуляции игнорируется, поскольку объекты за пределами диалогового окна больше не принимают события клавиатуры (не могут быть выведены!). Является ли мой единственный способ прослушать ключ табуляции и ручку вручную? Мне было бы хорошо, если табуляция выходит за пределы моего приложения и на панель URL (например), пока она возвращается в мое диалоговое окно без необходимости проходить через все элементы под ним.gwt tabindex внутри диалогового окна
ответ
Ну, после почти месяца без ответа, я решил пойти с ручным управлением ключами клавиш. Работает как шарм, но теперь он игнорирует строку url в цикле вкладок (отлично от меня). Я использовал этот пост в блоге, чтобы получить: http://albertattard.blogspot.com/2009/11/capturing-tab-key-in-gwt-textarea.html Я просто добавил панель фокуса в корень моего диалога.
Ну, лучше поздно, чем никогда! У меня была такая же проблема. Решение на самом деле довольно просто.
Предположим, у вас есть диалоговое окно, которое наследует от Composite
и содержит виджеты для ввода данных и кнопок. Главное окно также содержит некоторые виджеты пользовательского интерфейса, такие как поля ввода и некоторые кнопки. Вы настраиваете порядок табуляции для этого главного окна. Когда нажата кнопка для вызова диалогового окна, установите каждый из элементов управления в главном окне (setTabIndex(-1)
), который отключает порядок табуляции.
Для нового диалогового окна, зарегистрировать следующий код в конструкторе:
this.addAttachHandler(new AttachEvent.Handler() {
@Override
public void onAttachOrDetach(AttachEvent event) {
if(isAttached()) {
setTabOrder();
} else {
clearTabOrder();
}
}
});
, а затем создать два метода setTabOrder()
и clearTabOrder()
, которые называются в зависимости от обстоятельств. Кажется, что GWT путается с несколькими окнами с порядком табуляции. Вы можете положить конец путанице, динамически создавая порядок вкладок, когда каждое диалоговое окно отображается/скрыто.
выглядит как хорошее решение; я тоже собираюсь написать форму ввода данных всплывающих окон, и только начал созерцать tabindex. @Rob Mitchell: что именно вы подразумеваете под динамическим созданием табуляции? – Saad
- 1. GWT: предотвращение перемещения диалогового окна
- 2. Параметры изменения диалогового окна GWT
- 3. Внутри диалогового окна Alert
- 4. ObjectPageLayout внутри диалогового окна
- 5. Использование диалогового окна CKEditor в GWT UIBinder
- 6. Как скрыть границу gwt-диалогового окна полностью?
- 7. Удалить стиль из заголовка диалогового окна gwt
- 8. Прослушиватель RadioButton внутри диалогового окна
- 9. создать список внутри диалогового окна?
- 10. Размещение div внутри диалогового окна
- 11. Отображение загрузчика внутри диалогового окна
- 12. Навигация внутри диалогового окна jQuery
- 13. Радиоуправления внутри диалогового окна JQuery
- 14. textArea внутри диалогового окна jquery
- 15. Как создать всплывающее окно внутри диалогового окна?
- 16. Пользовательский прогрессDialog внутри диалогового окна antoher issue
- 17. Кнопка закрытия диалогового окна внутри себя
- 18. Открытие пользовательского диалога внутри диалогового окна предупреждения
- 19. HTML-таблица внутри позиционирования диалогового окна jQuery
- 20. диаграмма asp.net внутри диалогового окна jquery
- 21. $ ('# idField'). Val() внутри диалогового окна JQuery
- 22. Изменение нового текстового вида внутри диалогового окна
- 23. Раздутый вид внутри диалогового окна предупреждения
- 24. Открытие диалогового окна JQuery UI внутри DIV
- 25. UpdatePanel внутри диалогового окна JQuery не обновляется
- 26. Обработка вложенных представлений внутри диалогового окна
- 27. Android ProgressDialog внутри другого диалогового окна
- 28. Как отобразить калькулятор внутри диалогового окна
- 29. перемещаться внутри диалогового окна jQuery modal
- 30. autocompletetextview внутри диалогового окна, не показывающего результатов
: Не могли бы вы подробнее рассказать о том, что вы сделали? Я столкнулся с той же проблемой, что и выше. – MindBrain