Erika Hernández
Erika Hernández

Reputation: 377

How I set a OnClick event to <body> element in vaadin 7?

I need to "emulate" this:

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

in vaadin 7, to display a dialog box when the user clicks anywhere on the web page

My 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);
}

Upvotes: 0

Views: 583

Answers (1)

Haseeb Anser
Haseeb Anser

Reputation: 494

You can use the click listener on the current UI. As following:

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");

            }
    });

Upvotes: 1

Related Questions