mui进入页面输入框自动聚焦弹起键盘
Posted lishuang2243
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mui进入页面输入框自动聚焦弹起键盘相关的知识,希望对你有一定的参考价值。
这个内容社区里都有,用的是个集合算是比较全的了,记录一下我用这个时的坑
mui.plusReady(function() {
setTimeout(function(){
initNativeObjects();
showSoftInput();
},50)
})
var initNativeObjects = function() {
if (mui.os.android) {
console.log(1)
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);
setTimeout(function() {
//此处可写具体逻辑设置获取焦点的input
var inputElem = document.querySelector("input")
inputElem.focus();
inputElem.parentNode.classList.add(‘mui-active‘);
}, 100);
} else {
console.log(2)
nativeWebview = plus.webview.currentWebview().nativeInstanceObject();
setTimeout(function() {
//此处可写具体逻辑设置获取焦点的input
var inputElem = document.querySelector("input")
inputElem.focus();
inputElem.parentNode.classList.add(‘mui-active‘);
}, 100);
}
};
var showSoftInput = function() {
var nativeWebview = plus.webview.currentWebview().nativeInstanceObject(); //这个代码变量的使用时为了防止有一些手机键盘弹不起来
if (mui.os.android) {
console.log(3)
plus.android.importClass(nativeWebview);
nativeWebview.requestFocus();
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
} else {
console.log(4)
nativeWebview.plusCallMethod({
"setKeyboardDisplayRequiresUserAction": false
});
document.querySelector(‘input‘).focus();
}
setTimeout(function() {
//此处可写具体逻辑设置获取焦点的input
var inputElem = document.querySelector("input")
inputElem.focus();
inputElem.parentNode.classList.add(‘mui-active‘);
}, 100);
};
这段代码理论上安卓ios通用
但是,这个但是就是我的坑
这个进入页面的跳转事件,
一定要用mui自带的点击事件,否贼,进入页面自动弹起键盘ios是不好使的
我以前使用的是
document.getElementById(‘input1‘).addEventListener(‘tap‘, function() {
mui.openWindow({
})
}); 这个不行
必须要用
mui(document).on("tap","#input1",function(){
mui.openWindow({
})
})
友情提示,
现在更新的越来越恶心,
如果确定使用mui开发,切记一切东西最好用mui封装好的,要不项目出问题了你都不知道啥原因
例如,最新的HbuliderX中jq的$.ajax请求算是跨域,发请求必须要用mui.ajax,要不不报错,程序也不执行,就在那卡着,
以上是关于mui进入页面输入框自动聚焦弹起键盘的主要内容,如果未能解决你的问题,请参考以下文章
iOS webview html5 移动端 软键盘弹起遮挡输入框