当焦点位于输入时隐藏 ios 设备上的键盘

问题描述 投票:0回答:5

当某些插件(或其他代码)使用纯 javascript(或 jquery 库)将焦点设置到 html 页面上的输入元素时,我想隐藏 ipad 设备上的虚拟键盘

javascript jquery html css
5个回答
19
投票

如果您需要纯 解决方案,请使用此行:

document.activeElement.blur();

此行删除了活动元素上的焦点并隐藏了键盘。


参考


4
投票

你必须再次模糊它,但键盘可能会闪烁。

$('input').on('focus', function() { $(this).blur(); });

或者,取决于您是否动态创建了

input
元素。

$('#wrapper').on('focus', 'input', function() { $(this).blur(); });

1
投票

Typescript 版本需要在

blur()
上触发
HTMLElement
。像这样:

let myElement: HTMLElement;
myElement = <HTMLElement>document.activeElement;
myElement.blur()

1
投票

有时需要等待一段时间。

setTimeout(function() { document.activeElement.blur(); }, 100);

0
投票

这是一个老问题,我最近找到了更好的解决方案,适用于 iOS 13+。如果您不想模糊输入,可以使用

inputMode
控制虚拟键盘。将其设置为
none
会隐藏键盘。将其设置为其他内容会显示相应的键盘。看看这个演示: https://codepen.io/waterplea/pen/dyLjaQP

© www.soinside.com 2019 - 2024. All rights reserved.