基本要求是我的应用程序应该能够识别ALT + S的组合键以保存任何形式,这样用户就不必使用鼠标并将其一直带到“保存”按钮点击以保存形式。
我正在尝试将KeyDownHandler添加到RootPanel中,但这似乎不起作用。
RootPanel rootPanel = RootPanel.get("mainpanel");
KeyDownHandler handler = new KeyDownHandler() {
@Override
public void onKeyDown(KeyDownEvent arg0) {
if (arg0.isAltKeyDown() && arg0.getNativeKeyCode() == 83) {
save();
}
}
};
rootPanel.addDomHandler(handler, KeyDownEvent.getType());
有没有办法实现这个目标?
答案 0 :(得分:0)
关键事件仅适用于您可以在其中按下的文本编辑器。 Panel是div元素。你不能按下div。因此,你不能。
答案 1 :(得分:0)
您可以尝试这样的事情:
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
if (event.getNativeEvent()
.getType().equals("keydown")) {
if (event.getNativeEvent().getAltKey() &&
event.getNativeEvent().getKeyCode() == KeyCodes.KEY_S) {
save();
}
}
}
});
希望有所帮助。