如何阻止iOS自动聚焦首个可见输入框?
iOS输入框自动聚焦弹出键盘的解决方案
延迟执行失焦操作
iOS的自动聚焦可能在页面加载完成后立即触发,设置短延迟后执行blur()可以覆盖这个行为:document.addEventListener('DOMContentLoaded', () => { const targetInput = document.querySelector('input'); if (targetInput) { setTimeout(() => { targetInput.blur(); }, 100); } });临时禁用输入框交互
先通过CSS禁用输入框的交互能力,等页面稳定后再恢复,避免iOS自动识别聚焦:input { pointer-events: none; }配合JavaScript恢复交互:
document.addEventListener('DOMContentLoaded', () => { setTimeout(() => { document.querySelector('input').style.pointerEvents = 'auto'; }, 200); });拦截focus事件
直接监听输入框的focus事件,阻止默认行为或立即失焦:const targetInput = document.querySelector('input'); targetInput.addEventListener('focus', (e) => { e.preventDefault(); targetInput.blur(); }, { passive: false });排查主动聚焦代码
检查项目中是否存在第三方库或自定义代码主动调用了input.focus(),这类代码也可能导致iOS上的自动聚焦问题。
内容的提问来源于stack exchange,提问作者Claytinho
相关产品推荐
相关产品推荐

