gpt4 book ai didi

javascript - 当 DIV 悬停时文本框失去焦点

转载 作者:行者123 更新时间:2023-12-02 20:39:53 25 4
gpt4 key购买 nike

我遇到问题:当我在建议文本框中输入文本时,会出现弹出面板。但是,当用户将鼠标放在带有建议的弹出面板上时 - 文本框失去焦点。

我应该怎样做才能防止失去焦点?

具有相同行为的示例: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);
}

});

只需将元素替换为您想要将处理程序附加到的任何内容即可。

这对你有帮助吗?

关于javascript - 当 DIV 悬停时文本框失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com