我正在使用GWT和GXT,并希望使用CTRL-S(或CTRL-SHIFT-S)等键盘快捷键来保存当前表单。问题是,我无法弄清楚如何覆盖内置CTRL-S的浏览器。我尝试使用componentEvent并调用stopevent,cancelbubble等,没有运气。我也尝试过使用
Event.addNativePreviewHandler(new Event.NativePreviewHandler(){
}
并调用event.getNativeEvent().preventDefault();
尝试停止事件,但这也不起作用。
我正处于可以让我的键盘快捷键工作的地步,但它们也会触发浏览器的事件(比如打开浏览器保存对话框)
任何人都有关于如何使其发挥作用的想法/暗示?我实际上有一些我想要使用的快捷方式,但很多都与浏览器冲突 - 只是想弄清楚如何覆盖浏览器的操作。
答案 0 :(得分:2)
最好找到关键组合,而不是试图覆盖不是标准方法的键盘快捷键。
答案 1 :(得分:1)
调用KeyDownEvent上的preventDefault()
方法。当我添加了一个Dom Handler并且还从javascript论坛中引用了gmail如何做到这一点时,这也有效 - 我注意到当CTRL-S工作时,CTRL-N在Chrome中不起作用。稍后会测试其他浏览器。
希望这有帮助,
伊恩。
答案 2 :(得分:0)
要回答我自己的问题 - 我们选择使用CTRL + ALT快捷键,这些快捷键不会与任何内置的浏览器键盘快捷键冲突。