取消聚焦Web视图中的输入字段

时间:2013-10-21 17:22:57

标签: javascript jquery javafx-2

我的JavaFX应用程序正在使用Web视图显示网页。

每当用户聚焦文本输入字段(<input>)时,我都需要拦截,以便允许他使用键盘(正常行为)或使用Android应用程序键入值。

对于第二部分,我使用WebEngine.executeScript()方法绑定了一个jQuery回调,这个Javascript:

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

myCallback是一个在我的Java应用程序中引发事件的函数。当用户完成编辑(即在Android应用上按确定,在键盘上按 Enter )时,我需要取消焦点< / em>输入字段。所以,我尝试过:

  • 使用$(":input").blur();
  • 在Javascript中取消焦点
  • 使用$("a").focus()
  • 在Javascript中聚焦其他元素
  • 使用webView.getParent().requestFocus()
  • 取消对焦网页视图

最后一个是我的最佳尝试:输入字段未聚焦。不幸的是,只要用户点击网页,它就会再次聚焦。

2 个答案:

答案 0 :(得分:1)

我的不好,我需要在Java FX线程(executeScript())中进行Javascript调用(使用Platform.invokeLater())。

事实上,问题中提供的所有解决方案都有效。

答案 1 :(得分:0)

也许这有帮助...

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