其他分享
首页 > 其他分享> > 移动端——自己创建的数字键盘遇到的问题

移动端——自己创建的数字键盘遇到的问题

作者:互联网

项目要求:需要自己新建一个输入金额的页面,创建一个数字键盘

设计思路:页面上方的输入框用input制作,数字键盘使用table中的td制作,给td绑定点击事件,根据点击的td中的文本内容,直接存放在输入框中。

遇到的问题:

1.input在移动端点击后会自动调用手机自带的软键盘

2.金额有自己的输入规则,不能以0和小数点开头,规定小数点后面两位小数。要求将不符合要求的金额进行合理的处理

正则表达式:/^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/

3.onclick点击问题

解决方案:

第一个问题 :input在移动端点击的问题

    解决方案:1.一开始我用了div标签然后使用contenteditable=true将div变成可输入状态,但是还是会自动调用手机软键盘,分析原因是带有了input的属性

                     2.想到是由input引起的问题,我就讲input改成了span标签,在利用text()文本方法的实现了显示金额但是不会调用手机自带的软键盘的问题

第二个问题:处理不符合规则的金额

                解决方案:使用了正则表达式,将以0开头的整数去除0,超出两位小数位的使用 Math.floor(val * 100) / 100;保留两位小数,以小数点开头的使用val.replace(/^\./g, "")切除小数点

正整数:/^[+]{0,1}(\d+)$/

以0开头:/^[0]+/

只能输入两位小数:/^(\d+)(.\d{0,2})?$/

以小数点开头:/^\./

第三个问题:移动端点击的问题,onclick可以替换成touchstart

标签:创建,小数点,数字键盘,问题,点击,开头,input,移动
来源: https://blog.csdn.net/dwx_firm/article/details/120174572