[英]Text box loses focus when DIV is hovered
我有一个问题:当我在建议文本框中输入文本时,会出现弹出面板。 但是,当用户将鼠标悬停在带有建议的弹出面板上时,文本框将失去焦点。
我应该怎么做才能避免失去焦点?
具有相同行为的示例: http : //demo.raibledesigns.com/gwt-autocomplete/
谢谢你的帮助。
更新1
正在显示的SuggestionMenu
扩展了MenuBar
,它设置了所有菜单项的焦点。
void itemOver(MenuItem item, boolean focus) {
if (item == null) {
// Don't clear selection if the currently selected item's menu is showing.
if ((selectedItem != null)
&& (shownChildMenu == selectedItem.getSubMenu())) {
return;
}
}
// Style the item selected when the mouse enters.
selectItem(item);
if (focus) {
focus();
}
// If child menus are being shown, or this menu is itself
// a child menu, automatically show an item's child menu
// when the mouse enters.
if (item != null) {
if ((shownChildMenu != null) || (parentMenu != null) || autoOpen) {
doItemAction(item, false);
}
}
}
很明显,我无法解决失去的焦点。 现在的问题是-如何使按下退格键或任何键集中在编辑框上?
提前致谢
我想这是您的代码? 还是这是来自gwt的片段?
我的猜测是这是您的自定义代码...在这种情况下,您不应该将元素放在样式上,而应该附加一个处理程序...
public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
return this.addDomHandler(handler, MouseOutEvent.getType());
}
public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
return this.addDomHandler(handler, MouseOverEvent.getType());
}
element.addMouseOutHandler(new MouseOutHandler() {
public void onMouseOut(MouseOutEvent event) {
element.removeStyleName(HEADER_STYLE_HOVERING);
}
});
element.addMouseOverHandler(new MouseOverHandler() {
public void onMouseOver(MouseOverEvent event) {
element.addStyleName(HEADER_STYLE_HOVERING);
}
});
只需将元素替换为要附加处理程序的元素即可。
这对你有帮助吗?
我发现了问题。 我使用了GWT 1.7.0。 -它的源代码中包含focus()调用。
通过更新到GWT v2可以解决此问题。
感谢markovuksanovic的帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.