[GWT]在链接的情况下阻止浏览器的事件

时间:2009-05-30 08:32:09

标签: gwt

我希望在我自己的事件监听器链接的情况下处理事件。如果我们点击浏览器中的链接,浏览器将打开链接中给出的地址,但我想调用我自己的事件监听器。我尝试在GWT中删除锚标签的属性,但这不是一个干净的解决方案。 因此,如果您知道如何阻止浏览器打开该链接,请回复。

3 个答案:

答案 0 :(得分:3)

在GWT 1.6 中,正确的代码为:

ClickHandler foo = new ClickHandler() { 
    public void onClick(ClickEvent event) {

        /// do your stuff

        event.stopPropagation(); // stops the event from bubbling to parent

        event.preventDefault();  // prevents the browsers default action,
                                 // following a link, etc
    }
}

这大致相当于:

<a href="#" onclick="return false">Link</a>

答案 1 :(得分:0)

这不是这个小部件的作用:

http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/ui/Hyperlink.html

例如:它看起来像普通超链接,但是让你处理onclick事件?

答案 2 :(得分:0)

您只需拨打event.cancel()(GWT 1.6)或

即可
Event.getCurrentEvent().cancelBubble(true);              // In 1.4 and earlier
DOM.eventCancelBubble(DOM.eventGetCurrentEvent(), true); // In 1.5

还有一种从GWT 1.5中的实例中取消事件的方法,但我不记得了。