描述:頁面中有個按鈕,點擊跳轉到第二個頁面(有input),能直接獲取焦點拉起鍵盤輸入
安卓:
直接用focus()
ios:
focus無效,必須手動拉起
原理:
點擊按鈕的時候拉起一個此頁面隱藏的input或者全局隱藏的input拉起鍵盤, 跳轉后通過setSelectionRange 去設置光標
步驟一:定一個全局的隱藏input,并掛到window上
步驟二:第一個頁面點擊按鈕,調起全局input, 然后跳轉
步驟三:在第二個頁面去設置頁面中的input光標
這里的坑:
1)querySelector 是獲取的頁面第一個指定dom
2) 必須用settimeout, 否則鍵盤能拉起,但是光標不在input中,不能直接輸入
3)這里的input是原生的,可以直接獲取到,如果用第三方ui, 比如taroui中的 AtSearchBar ,必須用最里面的input, 不能用AtSearchBar 上其他的dom, 并且要放到settimeout中, 否則為null