[英]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.