fix(ios): 解决 iOS 设备上键盘无法弹出的问题

This commit is contained in:
2026-04-21 09:28:51 +08:00
parent dfaff637af
commit bc37358027

View File

@@ -1148,8 +1148,28 @@
sel.addRange(range); sel.addRange(range);
} }
element.focus(); element.focus();
// 尝试多种方式触发键盘弹出
// 方式1: 标准 focus
element.focus();
// 方式2: 对于 iOS,需要创建一个临时的 input 来触发键盘
if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {
const tempInput = document.createElement('input');
tempInput.style.position = 'fixed';
tempInput.style.opacity = '0';
tempInput.style.top = '-1000px';
document.body.appendChild(tempInput);
tempInput.focus();
setTimeout(() => {
tempInput.blur();
tempInput.remove();
element.focus();
}, 100);
}
}, 10); }, 10);
// 方式3: 使用 Virtual Keyboard API(如果支持)
if ('virtualKeyboard' in navigator) { if ('virtualKeyboard' in navigator) {
navigator.virtualKeyboard.show(); navigator.virtualKeyboard.show();
} }