[英]GWT: How to suppress hyperlink so that it doesn't change my history token
我想讓我的超鏈接像按鈕一樣(只響應Click事件)但是,當你點擊它們時,它們會自動更改歷史記錄令牌,這會在我的應用程序中弄亂我的歷史記錄機制。 有沒有辦法抑制超鏈接的默認行為,因此它不會更改歷史記錄標記? 我嘗試將targetHistoryToken設置為null但它不起作用。
謝謝,
請改用Anchor
。
正如Hyperlink
java文檔所說:
如果您想要HTML超鏈接(標記)而不與歷史記錄系統交互,請改用錨點。
到目前為止,最簡單的方法是創建自己的擴展Composite的類,只需將<a> </a>
呈現為HTML小部件。 我有同樣的問題,這就是我如何解決它。
就像rustyshelf說的那樣,
final HTML contactLink = new HTML("" + contactName + ""); contactLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { ..... } }
http://gwt.google.com/samples/Showcase/Showcase.html#CwStackPanel
只需從Anchor中刪除href =“”即可。
<g:Anchor ui:field="clickField">Click here</g:Anchor>
我創建了這個類
import com.google.gwt.user.client.ui.HTML;
public class HyperlinkWithoutHistoryToken extends HTML {
public HyperlinkWithoutHistoryToken(String html, boolean wordWrap) {
super("<a href=\"javascript:undefined;\">" + html + "</a>", wordWrap);
}
public HyperlinkWithoutHistoryToken(String html) {
super("<a href=\"javascript:undefined;\">" + html + "</a>");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.