我有以下代码片段,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/