博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MUI ios 与 安卓 软键盘调用事件
阅读量:6934 次
发布时间:2019-06-27

本文共 1953 字,大约阅读时间需要 6 分钟。

var openSoftKeyboard = function() {                if(mui.os.ios) {                    var webView = plus.webview.currentWebview().nativeInstanceObject();                    webView.plusCallMethod({                        "setKeyboardDisplayRequiresUserAction": false                    });                } else {                    var webview = plus.android.currentWebview();                    plus.android.importClass(webview);                    webview.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);                }            }            1.             mui.plusReady(function() {          //页面隐藏事件                plus.webview.currentWebview().addEventListener("hide",function(e){                    document.getElementById("search").value="";                    document.getElementById("search").blur();//搜索框取消焦点,关闭软键盘                });                //页面显示事件                plus.webview.currentWebview().addEventListener("show",function(e){                    setTimeout(function() {//自动打开软键盘,搜索框获取焦点                        openSoftKeyboard();                        document.getElementById("search").focus();                    }, 600);                    return false;                });})

  

注意的bug: ajax 调用 、 createview 的创建 或者 销毁、plus.nativeUI 的 showWaiting() closeWaiting() 等等,会引起当前页面的聚焦问题,所以会导致blur()的触发,而blur()会自动调用native 的 软键盘关闭。

综上所述,由于各种原因导致失去焦点,引起软键盘闪退。

focus() 聚焦引起的软键盘闪退问题: 做适当的延迟就行了

setTimeout(function() {
mobile.focus();
}, 300)

软键盘的数字选项:(默认英文选项)

<input id="search" type="tel"/>

转载于:https://www.cnblogs.com/RAINHAN/p/7125025.html

你可能感兴趣的文章
Fiddler抓取数据并分析(完整的配置教程)
查看>>
Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
查看>>
【思维导图-索引篇】搞定数据库索引就是这么简单
查看>>
Kotlin如何避免“!!”(非空断言)
查看>>
我理解的 iOS 与 Android 的区别
查看>>
vue(2)
查看>>
Ts + React + Mobx 实现移动端浏览器控制台
查看>>
聊聊 scala 的模式匹配
查看>>
阿里推出 PolarFS 分布式文件系统:将存储与计算分开(附论文)
查看>>
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [6] 朴素贝叶斯实践
查看>>
vue 优化CDN加速
查看>>
Linux常用命令
查看>>
PHP 实现Office word 关键词添加背景色
查看>>
搞懂 Javascript 继承原理
查看>>
CentOS(linux) 下JDK的安装
查看>>
iview-admin webpack打包总结的几个问题
查看>>
基于redis的分布式锁解析
查看>>
Spring Boot集成kafka完整版
查看>>
dayjs 源码解析(一)(api)
查看>>
React项目实践系列一
查看>>