我有一个DataGrid,其中包含一个包含TextInputCell的列。当我专注于此单元格时,按钮必须变为活动状态。为了做到这一点,我必须抓住一些焦点事件。
TextInputCell API包含onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater)
。太好了,我想能抓住任何事件,我想。但是我遇到的第一个问题是,当我松开/获得焦点时,onBrowseEvent会连续多次抛出。
似乎这个问题很典型,但我无法找到或找到任何解决方案来解决这个问题。我很感激任何帮助。
这是我要捕捉“焦点”事件的地方:
MyTextInputCell cell = new MyTextInputCell() {
@Override
public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) {
super.onBrowserEvent(context, parent, value, event, valueUpdater);
//Event handling is expected to be here
}
};
答案 0 :(得分:1)
这样的东西?
String eventType = event.getType();
if ("focus".equals(eventType)) {
// dosomething
}
答案 1 :(得分:0)
我建议添加一个单元格预览处理程序,然后根据BrowserEvents中定义的常量检查事件类型