簡體   English   中英

GWT:如何抑制超鏈接,以便它不會更改我的歷史記錄標記

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM