我有以下代码片段,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冒泡到Panels/Widgets/Composites /包含changeTextArea的任何内容.简洁地说,如何阻止它进一步冒泡.任何帮助将不胜感激(特别是代码示例).
据我所知,你无法通过键盘监听器来实现,但可以通过使用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