您的位置:首页 > 移动开发

mui开发App中,使用nativejs设置input焦点并触发软键盘

2017-08-21 00:00 501 查看
摘要: 项目需要,打开搜索页面时设置input获取焦点并弹出软键盘。

var showSoftInput= function(id) {
var nativeWebview, imm, InputMethodManager;
//初始化NativeObject
if(mui.os.android) {
var main = plus.android.runtimeMainActivity();
var Context = plus.android.importClass("android.content.Context");
InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
} else {
nativeWebview = plus.webview.currentWebview().nativeInstanceObject();
}
//获取焦点并调用软键盘
var nativeWebview = plus.webview.currentWebview().nativeInstanceObject();
if(mui.os.android) {
//强制当前webview获得焦点
plus.android.importClass(nativeWebview);
nativeWebview.requestFocus();
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
} else {
nativeWebview.plusCallMethod({
"setKeyboardDisplayRequiresUserAction": false
});
}
setTimeout(function() {
//此处可写具体逻辑设置获取焦点的input
var inputObj = document.getElementById(id);
inputObj.focus();
}, 200);
};

调用:

document.addEventListener("plusready", function() {
showSoftInput("keyword");
});

效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  焦点 focus 软键盘 H5 mui