我正在尝试在GWT中创建一个可以单击的链接(锚点),它ClickEvent可以被处理,同时这个锚点不会重新加载页面.这基本上意味着href不能设置a.
在javascript中,这样做:
<a href="javascript:handleAnchorClick();">Link</a>
Run Code Online (Sandbox Code Playgroud)
或者
<a href="#" onclick="return handleAnchorClick()">Link</a>
Run Code Online (Sandbox Code Playgroud)
其中,handleAnchorClick()返回false.
在GWT中实现这一目标的最佳方法是什么?
Chi*_*hii 12
使用tha Anchor元素,并调用其addClickListener()方法并添加您想要的逻辑.这种锚不会重新加载页面.
小智 10
在GWT使用处理程序中不推荐使用监听器
像这样的东西:
Anchor a = new Anchor("hi");
a.addClickhandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("hi");
}
});
Run Code Online (Sandbox Code Playgroud)
小智 8
如您所述,使用href ="#"将重新加载页面.
这是您可以在UIBinder中执行的操作:
<g:Anchor ui:field="myScriptedAnchor" href="javascript:;">
MyScriptedAnchorText
</g:Anchor>
Run Code Online (Sandbox Code Playgroud)
然后,您可以在视图实现中执行任何处理ClickEvent的操作.
@UiHandler("myScriptedAnchor")
void onMyScriptedAnchorClick(ClickEvent event) {
// TODO whatever you want to do...
}
Run Code Online (Sandbox Code Playgroud)
不要忘记添加一个样式来锚定,否则它不像普通的html链接:
.anchor {
text-decoration: underline;
font-weight: bold;
cursor: pointer;
display: block;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20713 次 |
| 最近记录: |