2012-10-23 5 views
4

내가하려는 것은 GWT에서 Enter 키 누르기 이벤트를 시작하는 것입니다. 이 내 키 핸들러입니다 : 다음GWT에서 (KEY_ENTER) 키 누르기 이벤트 발생

itemBox.addKeyDownHandler(new KeyDownHandler() { 
      public void onKeyDown(KeyDownEvent event) { 
       if(event.getNativeKeyCode == KeyCodes.KEY_ENTER) { 
         // do something 
       } 

나중에 내가 불을 싶어요 키 프레스 이벤트를 입력하지만 나는이 작업을 수행하는 방법을 알아낼 수 없습니다. 나는 KeyDownEvent.setNativeKeyCode (KEY_ENTER)와 같은 것을하고 싶다.

 textBox.fireEvent(new KeyDownEvent(null)); 

이 매개 변수를 설정할 수 있습니까?

답변

5

textBox.fireEvent 대신 DomEvent.fireNativeEvent를 사용하여 이벤트를 실행할 수 있습니다. 천만에요

final TextBox tb = new TextBox(); 
tb.addKeyDownHandler(new KeyDownHandler() { 

    @Override 
    public void onKeyDown(KeyDownEvent event) { 
    if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { 
       Window.alert("enter!"); 
      } 
    } 
}); 

Button b = new Button("keyevent"); 
b.addClickHandler(new ClickHandler() { 

    @Override 
    public void onClick(ClickEvent event) { 
    DomEvent.fireNativeEvent(Document.get().createKeyDownEvent(false, false, false, false, KeyCodes.KEY_ENTER), tb); 
    } 
}); 

RootPanel.get().add(tb); 
RootPanel.get().add(b); 
+0

: 여기

이 작업을 수행하는 방법을 작동하는 예입니다! – newnoise

관련 문제