我对Vaadin框架很陌生,我想知道是否有办法捕捉到锚的耳聋点击事件?(Vaadin14,只有Java - v11)
我知道我能做到
Anchor download = new Anchor()
download.getElement().addEventListener("click", event -> doStuff())
但它似乎并不是在单击侦听器中内置的耳聋,因为我能够添加一个带有StreamResource的锚。然后,单击Anchor启动文件下载-而不添加任何其他侦听器。
任何一个问题的答案都能解决我的问题,我相信:
发布于 2021-07-26 12:27:27
您实际上是将锚用作链接还是按钮?如果是后者,则只需使用Button并将其作为链接样式即可。
回答你的问题:
和你一样,addEventListener("click", e ->
download.getElement().callFunction("click")
(the same as clickInClient
)
addEventData()
您也可以尝试将Anchor
子类实现为您提供addClickListener()
方法的ClickNotifier
mixin interface,也可以手动触发该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");
}
}
https://stackoverflow.com/questions/68525619
复制相似问题