在GWT 1.6.4中轻松重现:
Tree tree = new Tree();
tree.addItem(new TextBox());
问题在于树中的onBrowserEvent:
switch (eventType) {
case Event.ONKEYDOWN:
case Event.ONKEYUP: {
if (isArrowKey(DOM.eventGetKeyCode(event))) {
DOM.eventCancelBubble(event, true);
DOM.eventPreventDefault(event);
return;
}
}
与许多GWT小部件一样,它们并不能很好地进行子类化。我必须有一个简单的技巧吗?
答案 0 :(得分:6)
解决了这个问题。
m_tree = new Tree()
{
@Override
protected boolean isKeyboardNavigationEnabled(TreeItem inCurrentItem)
{
return false;
}
@Override
public void onBrowserEvent(Event event) {
int eventType = DOM.eventGetType(event);
switch (eventType)
{
case Event.ONKEYDOWN:
case Event.ONKEYPRESS:
case Event.ONKEYUP:
return;
default:
break;
}
super.onBrowserEvent(event);
}
};