From bc37358027a90ffe9cd46e080fdd8c73b01589d9 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Tue, 21 Apr 2026 09:28:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(ios):=20=E8=A7=A3=E5=86=B3=20iOS=20?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=B8=8A=E9=94=AE=E7=9B=98=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/script.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/js/script.js b/js/script.js index 6f1fb5c..7d96b31 100644 --- a/js/script.js +++ b/js/script.js @@ -1148,8 +1148,28 @@ sel.addRange(range); } 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); + // 方式3: 使用 Virtual Keyboard API(如果支持) if ('virtualKeyboard' in navigator) { navigator.virtualKeyboard.show(); }