我在iPhone模拟器中隐藏键盘时遇到了问题。我的HTML代码:
<form id="my_form">
<input type="search" id="searchBar" />
</form>
jQuery代码:
$("#my_form").submit(function() {
one = $('#searchBar').val();
console.log(one);
doSearch(one);
return false;
});
一切都按我需要的方式工作:我可以获取表单值并执行一些Ajax。但是当函数返回false时,iPhone模拟器中的虚拟键盘仍然可见。如何隐藏键盘?有没有其他方法可以做到这一点?当用户在iPhone上搜索并按下“Go”时,我需要使用Ajax将数据传递到服务器。搜索结果应该显示在同一页(已经完成)。用户可以再次在同一页面中进行搜索。
请帮帮我。
谢谢,
--regeint
发布于 2012-01-10 12:01:43
感谢Hosh Sadiq和techfoobar对我的帮助。实际上,我做了以下工作,它起作用了。它不会影响此元素上方或下方的css。
$('.clr').after('<input type="checkbox" id="focusable" style="height:0; margin-left:-200px; clear: both;" />');
$('#focusable').focus();
再次感谢。:)
发布于 2012-07-16 21:33:58
您可以像这样简单地模糊您的输入,而不是将焦点切换到另一个元素:
$('#searchBar').blur();
它将隐藏虚拟键盘。
发布于 2012-01-09 03:32:49
在jQuery中,如果您使用return false;
,它将停止默认的浏览器行为,在本例中,默认的浏览器行为既是提交表单,也是关闭键盘。下面的代码应该可以工作:
<form id="my_form">
<input type="search" id="searchBar" />
<div style="height:0;width:0;">
<input id="focusable" type="checkbox" />
</div>
</form>
jQuery:
$("#my_form").submit(function(){
one = $('#searchBar').val();
console.log(one);
doSearch(one);
$('#focusable').focus();
return false;
});
https://stackoverflow.com/questions/8780346
复制相似问题