当用户在文本框外点击时,隐藏在iOS键盘中。

10
我正在尝试在用户单击文本字段之外的某个地方时隐藏iPad软键盘。具体而言,这个地方位于表单或包含其他元素的body上。
使用jquery、jquery mobile和html5。

目前在使用Android平板电脑时,它的功能非常完美。用户点击文本框外部,键盘将折叠。我只有下面的代码,其他所有尝试都失败了。var hideKeyboard = function() { document.activeElement.blur(); $("input").blur(); };这样文本框就会模糊,以便键盘关闭,如果用户点击其他元素,如单选按钮等...是否有一种方法可以使其与表单或正文一起工作?我是一名C程序员,JavaScript让我想拔光头发。 - yeowoh
你有多个文本框吗? - nycynik
setTimeout(function(){ $('Wrappingdiv').click(function(){console.log('!')}) },0)延迟设置(function(){ $('Wrappingdiv').click(function(){console.log('!')}) },0) - Tegra Detra
我用上一个评论中的代码解决了这个问题。 - Tegra Detra
这是解决方案,对我有用 https://dev59.com/UW435IYBdhLWcg3woRnG - Apple_Magic
显示剩余2条评论
3个回答

11
document.activeElement.blur();

有人能告诉我在哪里添加这段代码吗?我正在尝试做同样的事情,但是我无法正确地附加它。目前我正在尝试将其附加到窗口对象上。但是一旦我运行它,它就停止打开键盘。需要知道应该将其附加到哪里。 - Ganesh Pandhere
尝试将代码放在 $(document).click(function() { }); 中。 - clintgh

3

使用mattwindwer的解决方案(但提供更多详细信息):

$(document).click(function() {
    document.activeElement.blur();
});

1

在按钮上调用focus()方法(即使是隐藏的按钮)会隐藏键盘。我在我的iPad Web应用程序中使用了这个方法。

您可以向body添加一个点击监听器,并使用事件的target属性来确定何时隐藏键盘。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接