打开页面默认弹出软键盘,同时兼容iOS和Android

Posted 晨曦年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开页面默认弹出软键盘,同时兼容iOS和Android相关的知识,希望对你有一定的参考价值。

// 示例1
open_soft_keyboard({
    input: "#username"
});
// 示例2
open_soft_keyboard({
    input: ‘input[value=""]‘
});


/**
 * 默认打开软键盘
 * @param options{
 *   input: ‘#nickname‘ // 容器节点
 * }
 * @author 蔡繁荣
 * @version 1.0.3 build 20151226
 */
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);
    }
}

  

以上是关于打开页面默认弹出软键盘,同时兼容iOS和Android的主要内容,如果未能解决你的问题,请参考以下文章

移动端弹出软键盘导致input光标和点击事件错位问题

Android EditText如何设置默认是不弹出软键盘需要点击是才跳出来

H5页面软键盘常见问题

ios软键盘弹出再收起,页面布局错乱问题解决

安卓弹出软键盘怎么把一部分布局顶上去

webview软键盘弹出又马上消失