我希望在我自己的事件监听器链接的情况下处理事件。如果我们点击浏览器中的链接,浏览器将打开链接中给出的地址,但我想调用我自己的事件监听器。我尝试在GWT中删除锚标签的属性,但这不是一个干净的解决方案。 因此,如果您知道如何阻止浏览器打开该链接,请回复。
答案 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)
这不是这个小部件的作用:
例如:它看起来像普通超链接,但是让你处理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中的实例中取消事件的方法,但我不记得了。