确定按“退格”按钮

时间:2012-02-05 14:58:34

标签: java gwt

如何在GWT中确定用户按下 Backspace 按钮?我试过这个,但它不起作用

  @Override
  public void onKeyPress(KeyPressEvent event) {
       char charCode= event.getCharCode();
       if(charCode == (char) KeyCodes.KEY_BACKSPACE){
           //do someThing 
       }
  }

4 个答案:

答案 0 :(得分:10)

keypress事件在大多数浏览器中实现为仅在生成角色时触发(这就是它的标准化方式:http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keypress)。退格显然不会产生一个角色;您应该使用keydownkeyup来检测它。

答案 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 
    }