iPad Safari – 使键盘消失
在iPad的Safari浏览器,当我从焦点从文本框更改为下拉菜单,键盘仍然保持…有什么办法(也许用Javascript)我可以隐藏键盘时,用户从文本框模糊?
间接地说,我正在寻找一个相当的(但在移动Safari)
[tempTextField resignFirstResponder];
我在http://uihacker.blogspot.com/2011/10/javascript-hide-ios-soft-keyboard.htmlfind了解决scheme。; 本质上,只要做到这一点(它为我工作):
var hideKeyboard = function() { document.activeElement.blur(); $("input").blur(); };
我有iOS 5.0.1的iPad在成功login我的网站后没有隐藏键盘。 我通过简单的执行javascript命令来解决
document.activeElement.blur();
成功login后,现在键盘正确隐藏:-)
我知道这是一个稍微老一点的问题,但是我今天发现了答案,答案是非常简单的……我花了更多的时间,而不是我想承认这个问题;)
要防止显示键盘:
<input type="text" name="someInput" />
因为当你想要做一些像使用jQuery UIdateselect器…
添加像这样的只读属性:
<input type="text" name="someInput" readonly="readonly" />
如果您试图关注JSclosures的人,您可以始终忽略该属性并将其添加到您的代码中:
$('[name=someInput]').attr('readonly','readonly');
希望这可以帮助。
这里是一个jsFiddle展示的概念: http : //jsfiddle.net/3QLBz/5/
$("#txt").on("focus", function(){ $(this).blur(); });
适用于iPad上的jQuery UIdateselect器
我在另一个文本字段上调用.focus(),键盘消失。 我正在使用Sencha触摸框架,我所指的textfield是一个Ext.Text对象。
我知道这是违反直觉的,但似乎为我工作
Sample.views.MessageBar.getComponent(0).blur(); document.activeElement.blur(); window.focus(); Sample.views.sendMessageBar.getComponent(0).setDisabled(true);
你可以使用上面的代码。 第一和第四行是针对该文本字段的。 它适用于iphone,但它不适用于Android。 我尝试了Iphone 3gs和三星Galaxy S2。
没有jQuery的版本:
function hideKeyboard () { document.activeElement.blur(); Array.prototype.forEach.call(document.querySelectorAll('input, textarea'), function(it) { it.blur(); }); }
根据Apple Safari的文档,当你select一个下拉列表(select列表)时,iOS会closures键盘并显示本地iOSselect控件。 确保您使用SELECT元素作为下拉列表
并尝试添加到您的网页的元标记
<meta name="apple-mobile-web-app-capable" content="yes" />