2013-10-21 28 views
0

我的JavaFX應用程序正在使用Web視圖顯示網頁。取消焦點在Web視圖中的輸入字段

只要用戶關注文本輸入字段(<input>),爲了允許他使用鍵盤輸入值(正常行爲)或使用Android應用程序,我需要攔截。

在第二部分,我已經綁定一個jQuery回調,使用WebEngine.executeScript()方法和此Ja​​vascript:

jQuery(document).on('focus', 'input[type=text]', myCallback); 

myCallback是這引起了我的Java應用程序中的事件的功能。當用戶完成編輯(即按OK的Android應用,按鍵盤上輸入 ......),我需要無焦點的輸入字段。所以,我曾嘗試:

  • Unfocusing在Javascript中,使用$(":input").blur();
  • 聚焦的其他元素,在Javascript中,使用$("a").focus()
  • Unfocusing Web視圖,用webView.getParent().requestFocus()

最後一個是我的最好嘗試:輸入字段未聚焦。不幸的是,一旦用戶點擊網頁,它就會重新聚焦。

回答

1

我不好,我需要讓JavaScript調用Java中FX線程(Platform.invokeLater())(使用executeScript())。

實際上,問題中提供的所有解決方案都可行。

0

也許這有助於...

$('input').each(function(){ 
    $(this).trigger('blur'); 
    //each input event one by one... will be blured 
}) 
+0

不幸的是,至今爲止發現的其他解決方案,它在JavaFX WebView中不起作用。不管怎麼說,還是要謝謝你! –

相關問題