9***@qq.com
9***@qq.com
  • 发布:2017-02-21 17:06
  • 更新:2017-02-22 11:56
  • 阅读:837

【报Bug】

分类:MUI

折叠面版内部有 input 外部也有input输入框,当先点击外部输入框后 显示键盘,点击键盘上隐藏键盘后再点击折叠面板 此时会自动弹出键盘 原因是外部键盘的焦点还在 ,不知道如何解决

<body>  
        <header class="mui-bar mui-bar-nav">  
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>  
            <h1 class="mui-title">折叠面板</h1>  
        </header>  
        <div class="mui-content">  
            <div class="mui-card">  
                <ul class="mui-table-view">  
                    <li class="mui-table-view-cell mui-collapse">  
                        <a class="mui-navigate-right" href="#">表单</a>  
                        <div class="mui-collapse-content">  
                            <form class="mui-input-group">  
                                <div class="mui-input-row">  
                                    <label>内部Input</label>  
                                    <input type="text" placeholder="普通输入框">  
                                </div>  

                            </form>  
                        </div>  
                    </li>  
                </ul>  
            </div>  
            <div class="mui-collapse-content">  
                <form class="mui-input-group">  
                    <div class="mui-input-row">  
                        <label>外部Input</label>  
                            <input type="text" placeholder="普通输入框">  
                        </div>  
                </form>  
            </div>  
        </div>      
        <script src="../js/mui.min.js"></script>  
        <script>  
            mui.init({  
                swipeBack: true //启用右滑关闭功能  
            });  
        </script>  
</body>  

[QQ] 929981951

2017-02-21 17:06 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

可以监听软键盘隐藏,通过blur() 让输入框失去焦点
以下代码可参考:

window.addEventListener('resize', function(e) {  
    var currentHeight = plus.android.invoke(plus.android.currentWebview(), 'getHeight') + plus.navigator.getStatusbarHeight() * plus.screen.scale;  
    var screenHeight  = screen.height;  
    currentHeight === webviewHeight && document.querySelectorAll('input').forEach(function(e) {  
        e.blur()  
    })  
})
Trust

Trust - 少说废话

web开发的话,可以参考以下两种方法:

document.addEventListener('click', function(event) {  
    var target = event.target;  
    if(target.tagName === 'INPUT') {  
        console.log('点击到input标签了!');  
    } else {  
        console.log('不是input');  
        document.activeElement.blur();  
    }  
}, false);  
var defaultHeight = document.documentElement.clientHeight;  
window.addEventListener('resize', function() {  
    var curHeight = document.documentElement.clientHeight;  
    if(curHeight === defaultHeight) {  
        document.activeElement.blur();  
    }  
});  
  • 9***@qq.com (作者)

    第一个方法可以解决

    2017-02-22 13:35

9***@qq.com

9***@qq.com (作者)

有没有人可以解决啊

该问题目前已经被锁定, 无法添加新回复