java - Vaadin 双击和浏览器行为

标签 java google-chrome firefox vaadin

我正在开发一个带有树组件的 Vaadin 应用程序(版本 6.8.10)。我们需要对项目的双击使用react。但在我们的跨浏览器测试中,我们发现双击Firefox中并不总是有效(有时有效)。

这是我们的事件监听器代码:

 @Override
  public void itemClick(ItemClickEvent event) {
  *  if (event.isDoubleClick()) {  // Breakpoint line
       // our action
    }
  } 

在 Eclipse 中调试我们收到以下值(在每个浏览器中双击 Vaadin 收到 2 个事件后)

Chrome

收到 1° 事件

event.getButton() ==> 1

event.isDoubleClick() ==> false

event.getButtonName() ==> left

收到 2° 事件

event.getButton() ==> 1

event.isDoubleClick() ==> true

event.getButtonName() ==> left

火狐浏览器

收到 1° 事件

event.getButton() ==> 1

event.isDoubleClick() ==> false

event.getButtonName() ==> left

收到 2° 事件

event.getButton() ==> 1

event.isDoubleClick() ==> false

event.getButtonName() ==> left

继续,在 Firefox 中,我的双击被检测为两次单击!!!

你也经历过类似的事情吗?你有解决办法吗?

谢谢!

最佳答案

解决了!!

我们看到有一个旧的 Ticket (#8384) Vaadin 论坛上描述了这种行为。

建议的解决方案是在树对象上setImmediate(false),但我们想让代码更简洁,因此决定删除行setImmediate() 来自代码。我们测试了 new Tree().isImmediate() == false (默认),所以它应该可以工作。

经过大量测试、研究和调试...我决定在我们的代码中实际编写 setImmediate(false) (应该没有必要),现在神奇地,我们的代码在 Firefox 中工作正常!!!

我希望这对某人有帮助。

关于java - Vaadin 双击和浏览器行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15971437/

相关文章:

java - 如何求和之字形算法

javascript - 如何使用 Google Chrome 扩展更改所选文本的 CSS

javascript - 未触发 Chrome 扩展程序警报

jquery - 加载类型为 ="text/html"和 src ="..."的脚本标记,但被 jQuery 忽略

javascript - 隐藏整个表格会调整它的大小

javascript - JS直接访问Concat方法

java - 匿名类的限制

java - TreeViewer setSelectionProvider 仅适用于一个控件

java - 运行配置中的 Eclipse Maven 依赖项?

javascript - 在 Chrome 中取消焦点之前,li 上的类字体颜色不会呈现