Pergunta

I am trying to prompt user when he loose focus from text field on press back space but my code hav little bugs it also promp user when he press backspace during typing how its happening i an not sure please help me.

t1.addListener(new TextFieldListenerAdapter() {

       public void onFocus(Field field) {  
     System.out.println("onFocus"); 
       } 
       public void onBlur(Field field) {  
         System.out.println("onBlur");
         call();
            }
    });

    RootPanel.get().add(t1);

        }  

 public native void call()/*-{

 //alert("dfv");

    $wnd.onkeypress = GetChar;

     function GetChar (event)
     {
        var key = event.keyCode;

        if(key==8)//checking keyCode of key for backspace

                {
         var x= window.confirm("Are you sureyou want to leave the page");

        if (x==true)
                 {
              alert(window.history.back())

                  }
           else if(x==false)
         {

          return false;
         }
            }
    }                   

}-*/;

Foi útil?

Solução

Try this one

    import com.google.gwt.event.dom.client.KeyCodes;
    import com.google.gwt.i18n.client.DateTimeFormat;
    import com.google.gwt.user.client.Event;
    import com.google.gwt.user.client.Event.NativePreviewEvent;

    ...


    Event.addNativePreviewHandler(new Event.NativePreviewHandler() {

        @Override
        public void onPreviewNativeEvent(final NativePreviewEvent event) {
            if (event.getTypeInt() == Event.ONKEYPRESS) {
                if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_BACKSPACE) {
                    System.out.println("Back space is pressed");
                }
            }
        }
    });

    t1.sinkEvents(Event.ONKEYPRESS);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top