gwt – 将ClickHandler添加到包含许多其他小部件的div

似乎Panel不继承HasClickHandlers,我不能添加一个clickHandler到divelement.有没有办法将clickHandler添加到DIV?

编辑:我不能使用标签的原因我想要可点击的DIV包含其他DIV.

解决方法

认情况下,Panel不会“接收”onCLick事件.也就是说,单击面板实际上并不会导致“ClickEvent”,因此处理程序不会被触发.要使用Panel(或任何其他Widget)的点击事件,您必须首先使用适当的事件位调用sinkEvents().

例如:

SimplePanel p = new SimplePanel();
    p.sinkEvents(Event.ONCLICK);
    p.setTitle("Click me");
    p.setSize("600px","600px");
    p.addHandler(new ClickHandler(){

        @Override
        public void onClick(ClickEvent event) {

            Window.alert("SimplePanel clicked!");

        }

    },ClickEvent.getType());

上述代码首先使用p.sinkEvents(Event.ONCLICK)启用SimplePanel的点击事件;然后继续添加标准的ClickHandler.请注意,尽管SimplePanel不实现HasClickHandlers,您可以随时使用addHandler()方法添加处理程序.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效