2010-04-22 41 views
0

我遇到問題:當我在建議文本框中輸入文本時,會出現彈出窗口。 但是,當用戶將鼠標放置在這個彈出面板上並帶有建議時 - 文本框會失去焦點。當DIV懸停時,文本框會丟失焦點

我應該怎麼做才能防止失去焦點?

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

很明顯,我不能修復失去焦點。現在的問題是 - 如何在按下退格鍵或任何鍵來關注編輯框?

在此先感謝

+1

我最好的猜測是onmouseover .focus()在列表項上調用...以便鍵盤導航工作... – scunliffe 2010-04-22 14:18:13

+0

您可以不只是在用戶建議選擇焦點後明確地打出電話()再次在文本框中? – Shaunwithanau 2010-04-22 14:57:12

回答

1

我發現了這個問題。我已經使用GWT 1.7.0。 - 它的focus()調用它的源代碼。

此問題可以通過更新到GWT v2來解決。

感謝markovuksanovic求助!

+0

不客氣。 – markovuksanovic 2010-04-23 12:32:10

1

我想這是你的代碼?或者這是來自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); 
    } 

}); 

只需更換元素與任何你想附加處理程序。

這對你有幫助嗎?

+0

還有一件事..樣品看起來非常酷。 – markovuksanovic 2010-04-22 17:22:36

+0

對不起,但它是GWT源代碼。 – 2010-04-23 07:57:32

+0

我已經檢查了櫥窗示例,並且在將鼠標放在某個項目上時,SuggestBox不會鬆動焦點。 http://gwt.google.com/samples/Showcase/Showcase.html#!CwSuggestBox 您可以提供一些關於如何使用此suggetBox小部件的更多信息嗎? – markovuksanovic 2010-04-23 08:48:50

相關問題