js在移动端如何用脚本调用弹出input的键盘?

document.getElementById().focus(),我这样用不行 没反应

阅读 5k
2 个回答

很不幸的,不行,鍵盤只能靠使用者行為觸發,不能通過腳本觸發,測試過 iosandroid 確實是如此。

而所謂的使用者行為只可以通過綁定事件觸發,而且必須在觸發當前的 context

例如

<input type="text" id="input">
<button id="click">Click</button>
// 只能通過使用者行為觸發
document.getElementById('click').addEventListener('click', function() {
    document.getElementById('input').focus() // 這樣就會成功開啟鍵盤並焦點在 input
    
    setTimeout(function() {
        document.getElementById('input').focus() // 這樣就會失敗
    }, 2000)
})

測試了幾次發現,只要 document.getElementById('input').focus()callback 裡面都會失敗

新手上路,请多包涵

尝试过 不行的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题