请问技术人员能帮忙看看嘛?我研究了很多办法了,实在没办法解决。
我的目的就是希望页面加载之后,能自动的聚焦到txtSearch(type为number)并自动的弹出键盘。
我通过搜索,先搜索的方法是
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);
这个方法可以弹出键盘,但是速度比较慢,而且无法自动的切换到数字键盘。
然后我通过分析im_chat.html的页面,发现他们点击按钮的时候使用
setTimeout(function(){
document.getElementById("txtSearch").focus();
},150);
来实现聚焦的,我测试也是可以的。但是如果在load或者模拟触发事件中都无法启动小键盘。但是点击按钮,却又是可以的,请问该怎么做呢?
Document按钮
mui.init();
function autoFocus(){
setTimeout(function(){
document.getElementById("txtSearch").focus();
},150);
}
//通过点击按钮,可以聚焦到文输入框,并自动的弹出数字数字框
document.getElementById("btSubmit").addEventListener("tap", function(){
autoFocus();
});
if (mui.os.plus) {
mui.plusReady(function() {
// //以下方法可以弹出键盘,但是不是默认数字键盘,找了很多办法都没有办法转入到数字键盘
// 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);
var webview = plus.android.currentWebview();
plus.android.importClass(webview);
webview.requestFocus();
//这个触发没有效果
autoFocus();
});
}