jQuery Mobile的:隐藏虚拟键盘关闭弹出
问题描述:
我使用jQuery移动的一个项目后,需要在其与textarea的一个弹出:jQuery Mobile的:隐藏虚拟键盘关闭弹出
<div data-role="popup" id="popupDialog" data-overlay-theme="none" data-theme="a" style="width: 350px; max-width:350px;" class="ui-corner-all" data-dismissible="false">
<button id="dialogCloseButton" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-left">Close</button>
<div data-role="content" class="ui-corner-bottom ui-content" style="text-align: center; margin: auto;">
<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>
</div>
</div>
我打开弹出这样的:
$('#popupDialog').popup('open');
现在当我进入textarea的文本,并使用按钮关闭弹出窗口中,虚拟键盘不会隐藏我的iPad运行iOS 6.1。
我想这hack,这并没有为我工作。
当我模糊关闭弹出窗口前的文本区域,文本区域会自动再次获得焦点(您可以使用“模糊” - 按钮在我的例子网站上测试这一点)。
编辑:删除链接的例子。
答
这个工作对我来说:
$('#textArea').blur();
$('#popupDialog').attr("tabindex",-1).focus();
答
这是不言自明。第二行将取消所有输入字段,并依赖于jQuery。我发现在单个焦点文本框上调用blur()并不总是有效。这两条线中的任何一条都应该独立工作,但是它们都不能停止!
var hideKeyboard = function() {
document.activeElement.blur();
$("input").blur();
};
“我试过这个黑客,这对我没用。” - 您尝试过哪些黑客?因为那里有几个。 – MarcinWolny 2013-02-19 10:36:04
所有的黑客都会涉及blur()和/或添加一个可聚焦元素并将焦点赋予它。这对我不起作用。 – sbaltes 2013-02-19 11:13:14
不是全部。您尝试删除元素? – MarcinWolny 2013-02-19 11:16:44