码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2017-01-12 09:06:34      阅读:19      评论:0      收藏:0      [点我收藏+]

标签:odm   instance   get   import   ice   als   systems   焦点   timeout   

// 示例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

标签:odm   instance   get   import   ice   als   systems   焦点   timeout   

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!