我正在浏览GWT网站上提供的StockWatcher应用程序教程,并按照步骤4:在客户端上管理事件中描述的方法测试应用程序。
下面的代码在Firefox和IE7中的表现不同。在IE7中,这工作得很好,也就是说,如果我在文本字段中输入一些垃圾字符,并按enter"event.getCharCode() == KeyCodes.KEY_ENTER
"行执行成功,我可以看到一个警告消息。但是,如果我使用Firefox,这同一行不能工作。
当我使用Firefox并按Enter时,事件。getCharCode返回一些垃圾字符。我哪里做错了?或者这是预期的行为?
newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (event.getCharCode() == KeyCodes.KEY_ENTER) {
addStock();
}
}
});
使用KeyUpHandler
而不是KeyPressHandler
来捕获非字符键(如enter, escape等)。呼叫KeyUpEvent#getNativeKeyCode()
获取密钥码