我有一个 Vaadin 23 应用程序,其中有一个
Div
元素,其中包含 Button
(以及其他内容),并添加了一个单击监听器以及按钮:
Button button = new Button();
button.addClickListener(event -> { ... });
Div wrapper = new Div(button);
wrapper.addClickListener(event -> { ... });
问题是单击按钮时两个侦听器都会触发。
在这种情况下,如何确保仅触发按钮单击侦听器? 我希望当我单击
Div
内除按钮之外的任意位置时,触发 Div
上的单击侦听器。
或者,如果我可以在
Div
上的点击监听器中检测到点击实际上是在按钮上,我可以简单地忽略它。 但我也不知道该怎么做。
这是来自 Vaadin 8 应用程序的端口,它可以正常工作。 在这种情况下,包装纸
Div
是添加了 CssLayout
的 LayoutClickListener
。