如何使用jQuery删除GWT生成的Anchor上的click事件?例如,我有一些像这样的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;});
禁用click事件,但这对IE不起作用。我试图使用unbind()方法,它也不起作用。有没有办法做到这一点?感谢。
答案 0 :(得分:2)
有没有办法在java源代码中构建这个逻辑呢?
我认为GWT的目的之一是让开发人员免于处理浏览器端实现细节。但是通过改变GWT生成的客户端代码,可以创建一个与未记录的GWT行为相当强的耦合(例如,如果说GWT的下一个版本对大多数标签使用类'GWT-SimpleAnchor',或者某些东西,会发生什么像这样,或者说它改变了它产生IE 7.0但不是IE 8.0的方式......)
答案 1 :(得分:0)
您是否尝试过此处提到的Event对象的方法:http://docs.jquery.com/Events/jQuery.Event? preventDefault()
看起来很有希望。
GWT的ClickEvent
也有一个preventDefault()
函数,如果你有兴趣:)(我同意 mjv ,因为这应该在GWT中完成 - 我只使用用于复杂内容的外部JS库,如UI效果,AJAX推送等。