gpt4 book ai didi

java - Vaadin anchor - 捕获默认点击事件

转载 作者:行者123 更新时间:2023-12-02 18:37:44 27 4
gpt4 key购买 nike

我是 Vaadin 框架的新手,我想知道是否有办法捕获 anchor 的默认点击事件? (Vaadin14,仅限 Java - v11)

我知道我可以做到:

Anchor download = new Anchor()
download.getElement().addEventListener("click", event -> doStuff())

但它似乎不是默认的内置点击监听器,因为我能够使用 StreamResource 添加 anchor 。然后,单击 anchor 开始文件下载 - 无需添加任何额外的监听器。

我相信回答这些问题中的任何一个都会解决我的问题:

  • 有没有办法捕捉这个 anchor 点击事件?
  • 有没有一种方法可以在代码中像 Button click() 方法一样以编程方式触发它?
  • 如果 @DomEvent 是 @DomEvent,那么这是什么类型的 @DomEvent?

最佳答案

您实际上是将 anchor 用作链接还是按钮?如果是后者,您可以只使用 Button 并将其样式设置为链接。


回答你的问题:

  1. 按照你的方式,addEventListener("click", e ->
  2. download.getElement().callFunction("click") ( the same as clickInClient )
  3. 我认为这对你来说不重要。您所需要的只是对事件使用react,如果您需要一些数据,您可以 use addEventData()

您也可以尝试子类化 Anchor 实现 ClickNotifier mixin interface这将为您提供 addClickListener() 方法,您也可以手动触发此 ClickEvent,如 button's click() 中所做的那样

public class ClickableAnchor extends Anchor implements ClickNotifier {
public void click() {
fireEvent(new ClickEvent<>(this, false, 0, 0, 0, 0, 0, 0, false, false,
false, false));
}

public void clickInClient() {
getElement().callJsFunction("click");
}
}

关于java - Vaadin anchor - 捕获默认点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68525619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com