1. 程式人生 > >用JavaScript控制自動喚起輸入法鍵盤

用JavaScript控制自動喚起輸入法鍵盤

該效果適用於登入頁,註冊使用者頁,獲取驗證碼頁的初始化事件裡,可以實現剛一進頁面時自動喚起輸入法

鍵盤,用來改善使用者體驗,剛剛親測,效果顯著,先記錄一下。

//定義開啟輸入法鍵盤(也稱軟鍵盤)

function open_soft_keyboard(options){

   if(plus.os.name == 'iOS'){
       setTimeout(function(){
           var wv_current = plus.webview.currentWebview().nativeInstanceObject();
           wv_current.plusCallMethod({"setKeyboardDisplayRequiresUserAction":false});
           document.querySelector(options['input']).focus();
       }, 330);
   }else{
       // 因為安卓autofocus只有4.0版本以上才支援,所以這裡使用native.js來強制彈出
       setTimeout(function(){
           // 在執行的時候需要讓當前webview獲取焦點
           var wv_current = plus.android.currentWebview();
           plus.android.importClass(wv_current);
           wv_current.requestFocus();

           var Context = plus.android.importClass("android.content.Context");
           var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
           var main = plus.android.runtimeMainActivity();
           var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
           imm.toggleSoftInput(0,InputMethodManager.SHOW_FORCED);
           document.querySelector(options['input']).focus();
       }, 330);
   }

}

呼叫方式:函式名({物件})

open_soft_keyboard({
input: "#txtLogin"
});