我有一个 GWT Places/Activity web 应用程序。我使用Anchor
'click
事件将用户移动到新的“位置”,因此用户无法在新窗口或选项卡中打开任何“链接”。问题是 - 我如何使所有这些链接成为真实的?
问问题
1043 次
2 回答
7
在使用 a Hyperlink
(or InlineHyperlink
) 有效时,我宁愿在 aClickHandler
上使用 a Anchor
,因为如果任何活动在 URL 中返回非空值,mayStop
则还不会更改(而使用 a Hyperlink
,即使用户选择,它也会更改取消导航)。
要在 上设置目标 ( href
) Anchor
,只需使用您的PlaceHistoryMapper
. 为了正确处理 ctrl+click、middle-click 和 right-click,重复使用HyperlinkImpl
:
Anchor anchor = new Anchor("text", "#" + placeHistoryMapper.getToken(targetPlace));
anchor.addClickHandler(new ClickHandler() {
private static final HyperlinkImpl IMPL = GWT.create(HyperlinkImpl.class);
@Override
public void onClick(ClickEvent event) {
if (IMPL.handleAsClick(event)) {
placeController.goTo(targetPlace);
event.preventDefault();
}
}
});
于 2011-10-20T12:22:50.883 回答
3
也许不是使用和Anchor
收听设置为地名的ClickEvent
使用。Hyperlink
targetHistoryToken
例如
<g:Hyperlink text="Home" targetHistoryToken="home" />
于 2011-10-20T09:41:49.447 回答