2013-03-15 152 views
0

我有一個FocusPanel的小部件,我讀了KeyPress事件。是否可以定義按下哪個功能鍵? 我試圖使用event.getUnicodeCharCode(),但我只能掃描輸入(code-13)Ctrl-Enter(10)功能鍵。如何閱讀功能鍵?

  1. 那麼有沒有什麼辦法可以在Esc鍵按下時觸發函數?

  2. 還有什麼其他功能鍵和我可以如何掃描?

+0

如果您是指筆記本電腦上的功能鍵,功能鍵組合內置在電路板上。 – texasbruce 2013-03-15 19:07:55

+0

我的意思不僅是F1-F12,我的意思是Esc,Backspace,光標箭頭。 – FFire 2013-03-15 19:51:35

回答

1

改爲使用nativeKeyCode

這裏是list of keyCodes

FocusPanel panel = new FocusPanel(); 
    panel.addKeyUpHandler(new KeyUpHandler() { 

     @Override 
     public void onKeyUp(KeyUpEvent event) { 
      if(event.getNativeEvent().getKeyCode() ==KeyFromLIst){ 
       //DO something 
       } 

     } 
    }); 

爲了擺脫關閉瀏覽器不兼容喜歡keyup handler

+0

謝謝,在IE中我現在可以掃描Esc(27),但在Chrome中沒有效果。 – FFire 2013-03-15 19:44:20

+0

更新了我的答案。 – 2013-03-15 19:57:49

+0

---完美! --- – FFire 2013-03-15 20:27:08