如何在GWT中确定用户按下 Backspace 按钮?我试过这个,但它不起作用
@Override
public void onKeyPress(KeyPressEvent event) {
char charCode= event.getCharCode();
if(charCode == (char) KeyCodes.KEY_BACKSPACE){
//do someThing
}
}
答案 0 :(得分:10)
keypress
事件在大多数浏览器中实现为仅在生成角色时触发(这就是它的标准化方式:http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keypress)。退格显然不会产生一个角色;您应该使用keydown
或keyup
来检测它。
答案 1 :(得分:0)
您可以从一个完全不同的角度思考它,只需跟踪输入TextBox的字符串的长度或您想要从中获取文本的任何内容:
// Global variable to save previous String data
String stringEntered = "";
// Our TextBox
TextBox textBox = new TextBox();
@Override
public void onKeyPress(KeyPressEvent event) {
if(stringEntered.length() > textBox.getValue().length()) {
// At this point we know that a character has been deleted,
so we can clear a list or reset something accordingly
...
}
答案 2 :(得分:-2)
@Override
public void onKeyPress(KeyPressEvent event) {
char charCode= event.getCharCode();
if(charCode == (char) KeyEvent.VK_BACK_SPACE){
//do someThing
}
}
答案 3 :(得分:-2)
@Override
public void onKeyPress(KeyUpEvent event) {
char charCode= keyUpEvent.getNativeKeyCode();
if(charCode == (char) KeyCodes.KEY_BACKSPACE){
//do someThing
}