我正在浏览GWT网站上有关StockWatcher应用程序的教程,并按照步骤4:在客户端管理事件中所述测试应用程序.
下面的代码在Firefox和IE7中表现不同.在IE7中这很好用,即如果我在文本字段中输入一些垃圾字符并按Enter键" event.getCharCode() == KeyCodes.KEY_ENTER"行成功执行,我可以看到一条警告消息.但是,如果我使用Firefox,这条线路也不起作用.
当我使用Firefox并按Enter键时,event.getCharCode返回一些垃圾字符.我在这做错了什么?或者这是预期的行为?
newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (event.getCharCode() == KeyCodes.KEY_ENTER) {
addStock();
}
}
});
Run Code Online (Sandbox Code Playgroud)
使用a KeyUpHandler代替a KeyPressHandler来捕获非字符键(如enter,escape等).致电KeyUpEvent#getNativeKeyCode()获取密钥代码.