GWT g:锚点不会显示为链接

时间:2011-10-14 06:05:16

标签: java gwt anchor uibinder

我刚刚开始学习UiBinder方法,并且g:Anchor遇到了一个愚蠢的问题。每当我直接从Java代码构造Anchor时,它就会显示为“普通链接”,所以它是蓝色的,带下划线的,当我将鼠标指针移动到它时,它会从I-Beam切换到普通箭头。

当我使用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> 

是否存在一种“正确”的方法来实现相同的行为,而无需在任何地方复制href属性?

1 个答案:

答案 0 :(得分:7)

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

但问题是,如果你没有设置href,就不应该使用Anchor。如果您想要一些外观和感觉像锚点但没有链接到某个URL的东西,那么使用带有适当样式和ClickHandler的Label或HTML;不要滥用锚点来处理非链接的东西。