1

如何使用 jQuery 删除 GWT 生成的 Anchor 上的点击事件?例如,我有一些像这样的 GWT 代码:

Anchor a = new Anchor("name")
a.addClickHandler(new ClickHandler(){
    public void onClick(ClickEvent event) {
        //do something
    }
});

所以它会生成这样的 HTML 代码:

<a tabindex="0" class="gwt-Anchor" href="javascript:">name</a>

在非 IE 中,我可以使用这个:

$('a.gwt-Anchor').attr("onclick",function() {return false;});

禁用点击事件,但这不适用于 IE。而且我正在尝试使用unbind()方法,它也不起作用。有没有办法做到这一点?

4

2 回答 2

2

有没有办法可以在 java 源代码中构建这个逻辑呢?

我认为 GWT 的目的之一是让开发人员免于处理浏览器端的实现细节。但是通过更改 GWT 生成的客户端代码,可以创建与未记录的 GWT 行为的相当强的耦合(例如,如果说 GWT 的下一个版本使用类“GWT-SimpleAnchor”作为其大部分 a 标记或其他东西会发生什么情况像那样,或者说它改变了它产生 IE 7.0 而不是 IE 8.0 的方式......)

于 2009-09-25T01:18:26.730 回答
0

您是否尝试过这里提到的 Event 对象的方法:http: //docs.jquery.com/Events/jQuery.EventpreventDefault()看起来很有希望。

如果您有兴趣,GWTClickEvent也有一个功能 :)(我同意mjv的观点,因为这应该在 GWT 中完成——我只将外部 JS 库用于复杂的东西,如 UI 效果、AJAX 推送等)。preventDefault()

于 2009-09-30T00:14:16.887 回答