2011-10-14 53 views
1

我刚刚开始学习UiBinder的方法,并与g:Anchor有一个愚蠢的问题。每当我直接从Java代码创建Anchor时,它将显示为“正常链接”,因此它是蓝色的,带下划线的,当我将鼠标指针移到它时,它会从I-Beam切换到正常箭头。GWT克:锚不显示为链接

当我使用UiBinder的和定义我的UI是这样的:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> 
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
    xmlns:g="urn:import:com.google.gwt.user.client.ui"> 
    <g:Anchor ui:field="anchor" /> 
</ui:UiBinder> 

结果我得到的是一个蓝色的文本,但它既不下划线也不鼠标指针会变成正常的箭头,当我将它移动到这个链接。我发现的唯一的解决办法是

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> 
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
    xmlns:g="urn:import:com.google.gwt.user.client.ui"> 
    <g:Anchor ui:field="anchor" href="javascript:;" /> 
</ui:UiBinder> 

是否有一个“正确”的方法来达到同样的行为,而这copypasting属性href到处?

回答

7

http://code.google.com/p/google-web-toolkit/issues/detail?id=4502

但问题是,如果你没有一个href来设置就可以了,你不应该使用的锚。如果你想要的东西看起来像一个锚点但没有链接到某个URL,那么使用带有适当样式和一个ClickHandler的Label或HTML;不要滥用锚链接的东西,而不是链接。