我刚刚开始学习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
属性?
答案 0 :(得分:7)
请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=4502
但问题是,如果你没有设置href
,就不应该使用Anchor。如果您想要一些外观和感觉像锚点但没有链接到某个URL的东西,那么使用带有适当样式和ClickHandler
的Label或HTML;不要滥用锚点来处理非链接的东西。