gpt4 book ai didi

对话框内的 gwt tabindex

转载 作者:行者123 更新时间:2023-12-01 13:05:09 26 4
gpt4 key购买 nike

在我的 gwt 应用程序中,在某些屏幕上,我创建了一个带有输入表单的对话框。我希望能够使用 tabindex 属性,但只能在该对话框中使用。 (即:仅将该对话框的第一个字段循环到最后一个字段)现在,如果我在选择最后一个字段时按 Tab,焦点将移动到恰好是对话框后面的项目的第一个选项卡索引(设置为玻璃).这很烦人,因为现在必须多次按 Tab 键,直到焦点返回到第一个对话框字段。一旦您在对话框外使用 Tab 键,将对话框设置为模态会更糟,Tab 键将被忽略,因为对话框外的对象不再接收键盘事件(无法跳出!)。我唯一的选择是监听 Tab 键并手动处理 Tab 键吗?我可以在我的应用程序之外使用 Tab 键并进入 url 栏(例如),只要它返回到我的对话框而不必遍历其下的所有元素。

最佳答案

好吧,迟到总比不到好!我有同样的问题。解决方案其实很简单。

假设您有一个继承自 Composite 的对话框,其中包含用于数据输入和按钮的小部件。主窗口还包含一些 UI 小部件,如输入字段和一些按钮。您为此主窗口设置了 Tab 键顺序。当按下按钮调出对话框时,设置主窗口上的每个控件 (setTabIndex(-1)) 以禁用 Tab 键顺序。

对于新建的对话框,在构造函数中注册如下代码:

this.addAttachHandler( new AttachEvent.Handler() {
@Override
public void onAttachOrDetach(AttachEvent event) {
if(isAttached()) {
setTabOrder();
} else {
clearTabOrder();
}
}
});

然后创建两个方法 setTabOrder()clearTabOrder() 在适当的时候调用。似乎 GWT 与带有 Tab 键顺序的多个窗口混淆了。您可以通过在显示/隐藏每个对话框窗口时动态创建 Tab 键顺序来结束困惑。

关于对话框内的 gwt tabindex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3654990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com