mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

Posted bjpowernodejava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mui的input框在IOS系统下无法聚焦或点击多次才能聚焦相关的知识,希望对你有一定的参考价值。

我在给公司的一个H5页面添加搜索框,前端原先就用的mui,正常添加input框后,手机测试出现了问题:

android : input框有内容搜索跳转后,按返回键,input不能聚焦,键盘不弹出

ios : 正常进入页面input框不能聚焦,键盘不弹出,多次点击可能会聚焦

代码如下:

<div>
        <a class="mui-btn mui-btn-link" style="float: right;width: 14.5%;height: 34px;" onclick="searchInputWay()">搜索</a>
        <div class="mui-content-padded" style="margin: 5px;">
            <div class="mui-input-row mui-search" style="width: 86%">
                <input type="search" id="searchInput" class="muiSearchInput mui-input-clear" placeholder="请输入手机号码" onchange="searchInputWay()">
            </div>
        </div>
</div>

CSS如下:

.mui-search .mui-placeholder {
    font-size: 16px;
    line-height: 34px;
    position: absolute;
    z-index: 999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    height: 34px;
    text-align: center;
    color: #999;
    border: 0;
    border-radius: 6px;
    background: 0 0;
}

研究了一会儿觉得可能是 mui 的一些问题,然后就去官网学习了一下

发现或许是mui的input框的事件穿透,可能会导致上面描述的一些问题

最后整理了一下解决方法 ( PS:我的是第2种情况 ) :

1.css里可能写了-webkit-user-select:none,并且作用域覆盖到了input框。

解决方法 : css样式修改为 -webkit-user-select:auto

2.在mui-search外面包含了mui-inner-wrap 。mui-placehold的绝对定位后在iOS端产生事件穿透。

解决方法 : 添加css样式,设置pointer-events属性。

<style>
    .mui-search .mui-placeholder {
        pointer-events: none; 
    }
</style>

3.input框没有添加 type 属性???

这个...看情况添加一个吧,text或者search

 

以上是关于mui的input框在IOS系统下无法聚焦或点击多次才能聚焦的主要内容,如果未能解决你的问题,请参考以下文章

移动端 mui框架中input输入框或任何输入框聚焦后页面自动上移

解决 input 输入框在 iOS 系统中无法输入内容

利用mui编写的app,底部导航在OPPO R9当中不能点击切换,这是为啥?

微信小程序开发中input框在模拟器上点击输入无效,无法输入文字

微信公众号弹出框在IOS最新系统中点击键盘上的“完成”导致事件无法触发问题

vantuiinput居右有的生效有的不生效