java - 阻止事件在 GWT 中冒泡

标签 java events gwt

我有以下代码片段,changeTextArea 是一个 TextArea 对象。

changeTextArea.addKeyboardListener(new KeyboardListenerAdapter()
  public void onKeyPress( Widget sender, char keyCode, int modifier){
    //do something
    //I WISH TO STOP THE EVENT THAT MAPS TO THIS KEYPRESS FROM BUBBLING ANY FURTHER
  }
}

我如何阻止导致调用此方法的事件从 changeTextArea 冒泡到包含 changeTextArea 的面板/小部件/复合 Material /任何内容。简而言之,我如何阻止它进一步冒泡。任何帮助将不胜感激(尤其是代码示例)。

最佳答案

据我所知,您无法通过键盘监听器执行此操作,但可以通过使用 DOM 类添加事件预览来实现:

DOM.addEventPreview(EventPreview preview) 

然后当你得到这个事件时:

onEventPreview(Event event) 

你应该返回 false,表示你想取消事件。 Event对象也支持这个方法:

public final void cancelBubble(boolean cancel)

取消给定事件的冒泡。这将阻止事件传播到父元素。

您可以在此处找到更多详细信息: http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?overview-summary.html

关于java - 阻止事件在 GWT 中冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/214262/

相关文章:

javascript - 是否可以在 javascript 中检测表单提交失败?

javascript - 无法扩展EventEmitter?

java - AJAX/Java 持久性

java - GWTP 与 GWT MVP 和 Activity/地点的关系

java - JFrame和JOptionPane不清楚

java - 以编程方式使用 TestNG 运行特定测试

java - 空指针异常 - 事件和监听器

Python pygame事件循环类型错误

GWT编译

java - 如何在 Java 中使用 HttpURLConnection 获取 Cookie?