如何在Phonegap应用程序的jQueryMobile页面中隐藏键盘?

reg*_*int 16 jquery jquery-mobile cordova

我在iPhone模拟器中隐藏键盘有问题.我的HTML代码:

<form id="my_form">
    <input type="search" id="searchBar" />
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

$("#my_form").submit(function() {
  one = $('#searchBar').val();
  console.log(one);
  doSearch(one);
  return false;
});
Run Code Online (Sandbox Code Playgroud)

一切都按照我的需要工作:我可以获得表单值并执行一些Ajax.但是当函数返回false时,iPhone模拟器中的虚拟键盘仍然可见.如何隐藏键盘?有没有其他方法可以做到这一点?当用户搜索并按下iPhone上的"Go"时,我需要使用Ajax将数据传递到服务器.搜索结果应显示在同一页面中(已完成).用户可以再次在同一页面中搜索.

请帮我.

谢谢,

--regeint

vad*_*nov 32

而不是将焦点切换到另一个元素,你可以简单地模糊输入,如下所示:

$('#searchBar').blur();
Run Code Online (Sandbox Code Playgroud)

它将隐藏虚拟键盘.


Nis*_*jan 17

这里开始

这是非常不言自明的.第二行将解除所有输入字段的重点,它依赖于jQuery.我发现在单个聚焦文本字段上调用blur()并不总是有效.这些行中的任何一行都应该独立工作,但它们一起不能停止!

var hideKeyboard = function() {
    document.activeElement.blur();
    $("input").blur();
};
Run Code Online (Sandbox Code Playgroud)


reg*_*int 1

感谢Hosh Sadiqtechfoobar对我的帮助。实际上我做了以下操作并且成功了。它不会影响该元素上方或下方的 CSS。

$('.clr').after('<input type="checkbox" id="focusable" style="height:0; margin-left:-200px; clear: both;" />');
$('#focusable').focus(); 
Run Code Online (Sandbox Code Playgroud)

再次感谢。:)