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,要不不報錯,程序也不執行,就在那卡着,

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM