js监听手机键盘弹出的应用

键盘弹出的时候隐藏工具条或者某些元素的示例
程序代码 程序代码

window.SYSTEM =(function (mod) {

        //视图计时器
        mod.fixBottomBarTimer = null;

        //隐藏工具条
        mod.fixBottomBar = function (el) {
            var bars = document.getElementsByClassName(el);
            var newViewHeight =  document.documentElement.clientHeight;
            var status = mod._viewHeight > newViewHeight ? "hidden" : "visible";
            for(var i = 0; bars.length > i; i++){
                bars[i].style.visibility = status;
            }
        };

        //键盘监听
        mod.viewListener = function (el) {
            mod._viewHeight =  document.documentElement.clientHeight - 100; //增加100px的容差
            window.addEventListener('resize',function () {
                clearTimeout(mod.fixBottomBarTimer);
                mod.fixBottomBarTimer = setTimeout(function () {
                    mod.fixBottomBar(el);
                },300);
            });
        };

        //初始化视图状态
        mod.fixView = function () {
            var txt = document.getElementsByTagName('input');
            var txta = document.getElementsByTagName('textarea');
            for(var i=0;txt.length < i;i++){
                txt[i].blur();
            }
            for(var j=0;txta.length < i;i++){
                txta[j].blur();
            }
        };
        //程序入口
        mod.run = function (el) {
            mod.fixView();
            setTimeout(mod.viewListener,300,el);
        };
        return mod;
    })(window.SYSTEM || {});

    //运行程序
    SYSTEM.run('uedcool'); //参数是需要隐藏的元素的class


[本日志由 eddy 于 2017-02-23 12:34 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 707
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 关闭 | [img]标签 关闭