• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >HBuilder教程 > 使用Native.js实现打开页面默认弹出软键盘

使用Native.js实现打开页面默认弹出软键盘

作者:教程 字体:[增加 减小] 来源:互联网 时间:2017-05-31

本文主要包含native.js,native.js官网,template native.js,native.js 下载,native.js教程等相关知识,教程希望在学习及工作中可以帮助到您

先来体验下这个神奇的功能(兼容iOS和Android):


此功能需要在模块权限中配置Native.js

 

var nativeWebview, imm, InputMethodManager;
var initNativeObjects = function() {
    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 showSoftInput = function() {
    if (mui.os.android) {
        imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
    } else {
        nativeWebview.plusCallMethod({
            "setKeyboardDisplayRequiresUserAction": false
        });
    }
    setTimeout(function() {
       //此处可写具体逻辑设置获取焦点的input
       var inputElem = document.querySelector('input');
              inputElem.focus(); 
    }, 200);
};
mui.plusReady(function() {
    initNativeObjects();
    showSoftInput();
});

补充更新:

调用plus.webview.create()创建新的webview,会导致当前webview失去焦点,因此可能出现键盘闪一下又消失的情况。

解决方案:将创建webview的代码放到显示键盘之前(initNativeObjects方法之前)。

另外,为了强制当前webview获得焦点,可像如下方式修改showSoftInput方法:

var showSoftInput = function() {
    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 inputElem = document.querySelector('input');
              inputElem.focus(); 
    }, 200);
};

您可能想查找下面的文章:

  • mui android native.js取CPU核数
  • mui android native.js获取手机CPU信息
  • mui android native.js获取总内存
  • mui android native.js获取手机内部总的存储空间
  • mui android native.js获取手机MAC地址
  • mui Android平台 Native.js跳转系统设置各个界面
  • mui 安卓和ios分别通过Native.js来获取手机电量方法
  • MUI Native.js如何访问蓝牙Bluetooth?
  • MUI 使用native.js修改系统壁纸(Android)
  • 使用Native.js实现打开页面默认弹出软键盘

相关文章

  • 2017-05-31mui css 多行文本的溢出显示省略号(移动端)
  • 2017-05-31Hbuilder MUI 下拉刷新全屏时高度如何调整?
  • 2017-05-31chrome://inspect调试html页面空白,DOM无法加载的解决方案
  • 2017-05-31深入理解高度。获取屏幕、webview、软键盘高度
  • 2017-05-31Hbuilder MUI 自定义事件绑定取消
  • 2017-05-31hbuilder怎么关闭自动补全括号,花括号,双引号等功能
  • 2017-05-31MUI的input搜索框里的清除按钮的点击监听事件,JS,JQ及时监听input值的变化
  • 2017-05-31hbuilder 调用日期控件(native模式)
  • 2017-05-31hbuilder mui IOS 平台离线打包定位插件配置
  • 2017-05-31mui 即时通信、im问题汇总。环信、融云怎么集成

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • MUI开发APP文本框获得焦点并弹出软键盘
    • hbuilder 支付宝和微信支付插件配置
    • Native.JS能不能应用在web上??
    • 小米手机安装HBuilder调试基座报错Failure [INSTALL_CANCELED_BY_USER]
    • mui如何实现页面加载完后再显示数据来提升用户体验的方法
    • 选项卡切换+下拉刷新+动态获取数据
    • Hbuilder MUI 自定义事件绑定取消
    • 请问电脑上如何查看手机本地websql或者localstorage的数据呢?
    • mui原生日期选择器封装
    • Native.js开启关闭蓝牙-Android平台

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有