如何覆盖GWT / GXT应用程序中的浏览器键盘快捷键?

时间:2010-07-27 20:20:35

标签: java gwt keyboard-shortcuts gxt

我正在使用GWT和GXT,并希望使用CTRL-S(或CTRL-SHIFT-S)等键盘快捷键来保存当前表单。问题是,我无法弄清楚如何覆盖内置CTRL-S的浏览器。我尝试使用componentEvent并调用stopevent,cancelbubble等,没有运气。我也尝试过使用

Event.addNativePreviewHandler(new Event.NativePreviewHandler(){  
}

并调用event.getNativeEvent().preventDefault();尝试停止事件,但这也不起作用。

我正处于可以让我的键盘快捷键工作的地步,但它们也会触发浏览器的事件(比如打开浏览器保存对话框)

任何人都有关于如何使其发挥作用的想法/暗示?我实际上有一些我想要使用的快捷方式,但很多都与浏览器冲突 - 只是想弄清楚如何覆盖浏览器的操作。

3 个答案:

答案 0 :(得分:2)

最好找到关键组合,而不是试图覆盖不是标准方法的键盘快捷键。

答案 1 :(得分:1)

调用KeyDownEvent上的preventDefault()方法。当我添加了一个Dom Handler并且还从javascript论坛中引用了gmail如何做到这一点时,这也有效 - 我注意到当CTRL-S工作时,CTRL-N在Chrome中不起作用。稍后会测试其他浏览器。

希望这有帮助,

伊恩。

答案 2 :(得分:0)

要回答我自己的问题 - 我们选择使用CTRL + ALT快捷键,这些快捷键不会与任何内置的浏览器键盘快捷键冲突。