当某些插件(或其他代码)使用纯 javascript(或 jquery 库)将焦点设置到 html 页面上的输入元素时,我想隐藏 ipad 设备上的虚拟键盘
你必须再次模糊它,但键盘可能会闪烁。
$('input').on('focus', function() { $(this).blur(); });
或者,取决于您是否动态创建了
input
元素。
$('#wrapper').on('focus', 'input', function() { $(this).blur(); });
Typescript 版本需要在
blur()
上触发 HTMLElement
。像这样:
let myElement: HTMLElement;
myElement = <HTMLElement>document.activeElement;
myElement.blur()
有时需要等待一段时间。
setTimeout(function() { document.activeElement.blur(); }, 100);
这是一个老问题,我最近找到了更好的解决方案,适用于 iOS 13+。如果您不想模糊输入,可以使用
inputMode
控制虚拟键盘。将其设置为 none
会隐藏键盘。将其设置为其他内容会显示相应的键盘。看看这个演示:
https://codepen.io/waterplea/pen/dyLjaQP