2016-03-20 6 views
0

Ich muss "emulieren" dieses:Wie setze ich ein OnClick-Ereignis auf <body> Element in Vaadin 7?

document.getElementsByTagName("body")[0].onclick = function gameOver() { ...}

7 in Vaadin, ein Dialogfeld angezeigt werden, wenn der Benutzer eine beliebige Stelle auf der Seite Web klickt

Mein Code:

//... 
    @Override 
    protected void init(VaadinRequest request) { 

     Label labelH1 = new Label("<span style=\"color:SteelBlue;\">M</span>atching " 
       + "<span style=\"color:Purple;\">G</span>ame!", ContentMode.HTML); 
     labelH1.setStyleName("h2"); 

     Label labelH4 = new Label("Click on the extra smiling face on the <span>left</span>.", 
       ContentMode.HTML); 
     labelH4.setStyleName("h4"); 

     CssLayout layout = new CssLayout(); 
     AbsoluteLayout leftLayout = new AbsoluteLayout(); 
     leftLayout.setId("leftSide"); 

     AbsoluteLayout rightLayout = new AbsoluteLayout(); 
     rightLayout.setId("rightSide"); 

     layout.addComponent(labelH1); 
     layout.addComponent(labelH4); 
     layout.addComponent(leftLayout); 
     layout.addComponent(rightLayout); 

     setContent(layout); 
} 
+0

Haben Sie versucht, das ClickEvent auf Ihrem 'Layout' zu setzen? –

+1

layout.addLayoutClickListener (neu LayoutEvents.LayoutClickListener() { @Override public void layoutClick (LayoutEvents.LayoutClickEvent event) {// ACTION } }); Oder eine bessere Lösung ist. UI.getCurrent() addClickListener (neu MouseEvents.ClickListener() {...}) – Athi

Antwort

1

Sie können den Klick-Listener auf der aktuellen Benutzeroberfläche verwenden. Wie folgt:

UI.getCurrent().addClickListener(new ClickListener() 
     { 

      @Override 
      public void click(com.vaadin.event.MouseEvents.ClickEvent event) 
      { 
       // You can show the dialouge box or any other of your desired task here ...!!! 
       System.out.println("UI is clicked"); 

      } 
    }); 
+0

Danke, diese Arbeit für mich. Ich habe ein Bild innerhalb des UI-Elements, das Bild hat ein anderes Klickereignis. Wie verhindere ich, dass das 'UI.getCurrent.(). AddClick ... (....)' Ereignis ausgeführt wird, wenn ich auf das Bildelement klicke? –

+0

Sie können den Klick-Listener für das Bild verwenden und die Funktionalität der Klickliste der Benutzeroberfläche überschreiben. Bitte stimmen Sie ab und akzeptieren Sie die Antwort, wenn die Lösung für Sie funktioniert, da dies den anderen in Zukunft helfen könnte –

Verwandte Themen