啥问题呢?
我用 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();
4 个回复
2***@qq.com (作者) - 嗯嗯嗯,撂了吧,我写bug呢。
郁闷,这么着也不行,已经把 autofcous 去了,但是第1次打开就是不出数字软键盘,1次之后就没事
辛德瑞拉 - js 也会 php 也会 但是都是皮毛,,,
mui 已经停止更新了,
2***@qq.com (作者)
它停不停的这个问题是不好解决
2019-06-27 17:09
2***@qq.com (作者) - 嗯嗯嗯,撂了吧,我写bug呢。
pattern="[0-9]*",在 input 属性里加这个可以,但是软键盘的功能条,左上角有个 上下 箭头,点它的话会在 dom 里切换焦点,切着切着,遮罩就完了,出现大白版。
9***@qq.com
试一下,ios好使 点击不会弹键盘,必须手动点弹出的input才会弹键盘