关于javascript:jQuery mobile:关闭弹出窗口后隐藏虚拟键盘

jQuery mobile: Hide virtual keyboard after closing popup

我正在项目中使用jQuery mobile,并且需要一个带有文本区域的弹出窗口:

1
2
3
4
    <button id="dialogCloseButton" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-left">Close</button>
   
        <textarea id="textArea" data-theme="b" style="resize: none; max-width: 100%; max-height: 150px; width: 100%; height: 150px; padding-bottom: 5px;"></textarea>
        <button data-theme="a">Ok</button>

我正在像这样打开弹出窗口:

1
$('#popupDialog').popup('open');

当我现在在文本区域中输入文本并使用按钮关闭弹出窗口时,虚拟键盘将不会隐藏在运行iOS 6.1的iPad上。

我尝试了这个hack,但对我来说不起作用。

当我在关闭弹出窗口之前模糊文本区域时,该文本区域将自动再次获得焦点(您可以使用" Blur "-按钮在示例站点上对其进行测试)。

编辑:删除了指向示例的链接。


这对我有用:

1
2
$('#textArea').blur();
$('#popupDialog').attr("tabindex",-1).focus();


这很不言自明。第二行将使所有输入字段失去焦点,并且它依赖于jQuery。我发现在单个焦点文本字段上调用blur()并不总是有效。这些线路中的任何一条都应该独立工作,但是它们两者不能一起停止!

1
2
3
4
var hideKeyboard = function() {
    document.activeElement.blur();
    $("input").blur();
};