【问题标题】:How do I disable/enable anchor in GWT? [duplicate]如何在 GWT 中禁用/启用锚点? [复制]
【发布时间】:2026-02-03 21:05:01
【问题描述】:

可能重复:
How to enable or disable an anchor using jQuery?

我很难禁用锚。我读到 Anchor.SetEnabled 存在一个现有错误。

anchor().setEnabled(false) 因浏览器限制而无法工作。但是,还有其他方法可以禁用/启用链接吗?

【问题讨论】:

  • 为什么这被标记为 mvp4g?

标签: gwt mvp4g


【解决方案1】:
// to disable the anchor
disabled = anchor.addClickHandler(new ClickHandler() {
   @Override
   public void onClick(ClickEvent event) {
      event.preventDefault();
   }
});

// to re-enable it.
disabled.removeHandler();

【讨论】:

  • clickListener 不会阻止负责添加历史令牌的 onHistroryChange() 事件。
  • 问题是关于Anchor,而不是HyperlinkInlineHyperlink。请注意Hyperlink 中的addClickHandler 是如何被弃用的,如果您想“在设置历史令牌之前处理点击”,建议您使用Anchor 并自己调用History.newItem
【解决方案2】:

例如,您可以更改 href,或将 onClick 事件设为无操作。

【讨论】:

    【解决方案3】:

    我遇到了类似的问题。最适合我的解决方案是下载此issue 末尾给出的自定义 Anchor 类,并使用它代替 GWT Anchor。从第一次尝试就可以使用!

    【讨论】: