2***@qq.com
2***@qq.com
  • 发布:2019-06-27 16:11
  • 更新:2021-03-17 14:45
  • 阅读:1294

【报Bug】ios mui prompt div 方式 autofocus 问题

分类:MUI

啥问题呢?
我用 mui prompt 的 div 方式,我想改变 .mui-popup-input 里面的 input 的 type (默认是 text)为 number,代码如下:

$.prompt('', '输入正整数', '请输入次数', ['确定', '取消'], function(e) {  
    //确定  
    if (e.index == 0) {  
        if (!/^[1-9]\d*$/.test(e.value)) {  
            $.alert('请输入大于 0 的正整数', '错误', '确定', function() {  
                $('.mui-popup-input input')[0].value = '';  
                // $('.mui-popup-input input')[0].focus();  

            }, 'div')  
            return false  
        } else {  
            console.log(e.value)  
        }  
    }  
}, 'div')  
// $('.mui-popup-input')[0].removeChild($('.mui-popup-input input')[0]);  
$('.mui-popup-input input')[0].type = 'number';  

目的是想让 prompt 出现后,弹出数字软键盘,用 $('.mui-popup-input input')[0].type = 'number'; 这个方法在 andorid 下没问题,但是在 ios 下不行,第1遍会是其他键盘,但当 alert 后,重新给 input 焦点的话,这时弹出的软键盘才是 数字的。这是 bug 吗?,我想到的解决方法是去掉源代码里 input 的 autofocus 属性,让用户去点或在代码里手动给 input 设置焦点弹出键盘(或用其他方法弹出)。

// .mui-popup-input 里的 input 源代码里去掉 autofocus 属性后  
$('.mui-popup-input input')[0].type = 'number';  
//.....随便修改  
//最后走弹出键盘逻辑  
$('.mui-popup-input input')[0].focus();
2019-06-27 16:11 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者) - 嗯嗯嗯,撂了吧,我写bug呢。

郁闷,这么着也不行,已经把 autofcous 去了,但是第1次打开就是不出数字软键盘,1次之后就没事

辛德瑞拉

辛德瑞拉 - js 也会 php 也会 但是都是皮毛,,,

mui 已经停止更新了,

  • 2***@qq.com (作者)

    它停不停的这个问题是不好解决

    2019-06-27 17:09

2***@qq.com

2***@qq.com (作者) - 嗯嗯嗯,撂了吧,我写bug呢。

pattern="[0-9]*",在 input 属性里加这个可以,但是软键盘的功能条,左上角有个 上下 箭头,点它的话会在 dom 里切换焦点,切着切着,遮罩就完了,出现大白版。

9***@qq.com

9***@qq.com

试一下,ios好使 点击不会弹键盘,必须手动点弹出的input才会弹键盘

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