不知不觉
不知不觉
  • 发布:2016-07-21 17:15
  • 更新:2016-09-06 15:30
  • 阅读:2711

picker城市选择器与键盘冲突

分类:MUI
2016-07-21 17:15 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

请附上可以还原场景的代码。

yeyeyeye

yeyeyeye

cityPicker = new mui.PopPicker({  
        layer: 2,buttons:['取消','完成']  
    });  
    cityPicker.setData(p_result);  
    var showCityPickerButton = document.getElementById('city');  
    showCityPickerButton.addEventListener('click', function(event) {  
        cityPicker.show(function(items) {  
            var cur_city_value = showCityPickerButton.value;  
            var choose_city_value = items[1].text;  
            if(cur_city_value !== choose_city_value){  
                $("#city").val(items[1].text);  
                cur_city = items[1].value;  
                getFormDataByCity(cur_city);  
            }  
        });  
    }, false);  

$("#submit").click(function(){  
        formLogin();  
    });  

<form class="form mt10 mui-input-group" id="addForm">  
                <div class="form-item clearfix">  
                    <i class="mui-navigate-right"></i>  
                    <div class="tab-cell item-name">城市</div>  
                    <div class="tab-cell item-value"><input type="text" name="" readonly="readonly"  id="city" class="text" placeholder="选择社保所在的城市" /></div>  
                </div>  
                <div class="form-item clearfix mt10 bt mui-input-row">  
                    <div class="tab-cell item-name">用户号</div>  
                    <div class="tab-cell item-value"><input type="text" name="account" id="account" class="text" placeholder="邮箱/手机号/身份证号" maxlength="50"/></div>  
                </div>  
                <div class="form-item clearfix mui-input-row">  
                    <div class="tab-cell item-name">登录密码</div>  
                    <div class="tab-cell item-value"><input type="password" name="password" id="pwd" class="text" placeholder="请输入登录密码" maxlength="50"/></div>  
                </div>  
                <div class="form-item clearfix mui-input-row">  
                    <div class="tab-cell item-name">验证码</div>  
                    <div class="tab-cell item-value">  
                        <img src="img/code.png" class="code-img"/>  
                        <span class="small-input-txt"><input type="text" name="text" id="code" class="text-small" /></span>  
                    </div>  
                </div>  
            </form>  
            <div class="operate">  
                <a class="btn-submit" href="javascript:void(0);" id="submit">提交</a>                 
            </div>  

如上:我是在input输入的时候,ios上弹出了键盘,我不关闭键盘,直接点击提交按钮,picker就会闪现,

  • Trust

    请直接提供完整的附件,方便调试。

    2016-07-22 10:23

  • yeyeyeye

    对了,我手机是ios6 系统9.2 ,安卓上没问题的

    2016-07-22 17:55

  • yeyeyeye

    已经放了完整的项目,麻烦帮我看下,谢谢

    2016-07-22 17:55

yeyeyeye

yeyeyeye

附件中的index.html,点击用户号,进行输入,输入完成后,不要关闭键盘,直接点击提交按钮,键盘先先去了,然后弹出了picker,picker很快自己又不见了

yeyeyeye

yeyeyeye

时隔这么长时间,终于找到了解决的办法了

解决办法:
按钮的点击事件不要使用click,使用tap事件,并且在tap事件里面让input text失去焦点,果然使用mui还是摒弃click的好

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