下载的别人的插件改良一下,源码地址:https://github.com/XieTongXue/how-to/tree/master/pay-h5

没有插件,直接来代码

<div class="pay-input-money">
<div class="input-left">
<span>输入消费金额</span>
</div>
<div class="input-right">
<span>¥</span>
<label id="paymoney" type="text"></label>
</div>
</div> <div class="payinfo">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="paynum">1</td>
<td class="paynum">2</td>
<td class="paynum">3</td>
<td id="pay-return">
<div class="keybord-return"></div>
</td>
</tr>
<tr>
<td class="paynum">4</td>
<td class="paynum">5</td>
<td class="paynum">6</td>
<td rowspan="3" class="pay">
<a href="javascript:return false;">
<div class="a-pay">
<p>确认</p>
<p>支付</p>
</div>
</a>
</td>
</tr>
<tr>
<td class="paynum">7</td>
<td class="paynum">8</td>
<td class="paynum">9</td>
</tr>
<tr>
<td id="pay-zero" colspan="2" class="payzero">0</td>
<td id="pay-float">.</td>
</tr>
</table>
</div>

css代码可以参考源码

js代码:

$(".paynum").each(function(){

            $(this).on("touchstart",function(e){
e.preventDefault();
if(($paymoney.text()).indexOf(".") != -1 && ($paymoney.text()).substring(($paymoney.text()).indexOf(".") + 1, ($paymoney.text()).length).length == 2){
return;
}
if($.trim($paymoney.text()) == "0"){
return;
}
if (parseInt($paymoney.text()) > 10000 && $paymoney.text().indexOf(".") == -1) {
return;
}
// $('.pay').removeClass('pay-disabled').find('a').attr('href','pay-result.html');
$paymoney.text($paymoney.text() + $(this).text());
// upperCaseMoney.text(digitUppercase($paymoney.text()));
});
}); $("#pay-return").on("touchstart",function(e){
e.preventDefault();
$paymoney.text(($paymoney.text()).substring(0, ($paymoney.text()).length - 1));
upperCaseMoney.text(digitUppercase($paymoney.text()));
// if (!$paymoney.text()) {
// upperCaseMoney.text('');
// $('.pay').addClass('pay-disabled').find('a').attr('href', 'javascript:return false;');
// }
}); $("#pay-zero").on("touchstart",function(e){
e.preventDefault();
if(($paymoney.text()).indexOf(".") != -1 && ($paymoney.text()).substring(($paymoney.text()).indexOf(".") + 1, ($paymoney.text()).length).length == 2){
return;
}
if($.trim($paymoney.text()) == "0"){
return;
}
if (parseInt($paymoney.text()) > 10000 && $paymoney.text().indexOf(".") == -1) {
return;
}
$paymoney.text($paymoney.text() + $(this).text());
}); $("#pay-float").on("touchstart",function(e){
e.preventDefault();
if($.trim($paymoney.text()) == ""){
return;
} if(($paymoney.text()).indexOf(".") != -1){
return;
} if(($paymoney.text()).indexOf(".") != -1){
return;
} $paymoney.text($paymoney.text() + $(this).text());
});

将touchstart事件替换click时间,iOS变的较为流畅,代码仅做参考

H5自定义金额键盘,改良后ios体验效果流畅的更多相关文章

  1. 解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)

    前言:微信H5项目,ios端出现了软键盘输完隐藏后页面不会回弹,下方会有一大块留白 最近微信和ios都有版本升级,不知道是哪边升级造成的,但是经过测试,软键盘收起后,再滚动一下页面,下面的留白就会消失 ...

  2. 关于在android手机中腾讯、阿里产品不自定义虚拟键盘的想法

    1,自定义虚拟键盘,影响用户体验.你每个用户的喜好不一样,都有自己心仪的一款输入法.腾讯或是阿里设计出来的输入法很难满足上亿用户的喜好,到时候又是一场口水战,再说了就是专业的输入法肯定要比应用里嵌套的 ...

  3. H5微信页面开发 IOS系统 input输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置,导致弹框里的按钮响应区域错位

    H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的 ...

  4. iOS开发之自定义表情键盘(组件封装与自动布局)

    下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自 ...

  5. IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置

    近期在开发微信H5页面时碰到这个问题,如图,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,这也是ios的微信版本更新6.7.4之后才遇到的bug. 目前 ...

  6. 苹果系统 IOS 12 的H5 BUG :键盘把页面顶上去了,底下留有一块空白区域

    苹果以往的系统是没问题的,一般情况下,点击input唤起键盘后是会自动显示到输入框的地方,然后收起键盘页面就会恢复到底部. 但是如果苹果是已经更新到最新的IOS12的话就会发生一个BUG ,就是键盘唤 ...

  7. ios自定义数字键盘

    因为项目又一个提现的功能,textfiled文本框输入需要弹出数字键盘,首先想到的就是设置textfiled的keyboardType为numberPad,此时你会看到如下的效果:   但是很遗憾这样 ...

  8. IOS键盘收起后,页面底部留白处理

    环境:vue+vant 的H5页面 场景:输入框输入信息时,如登录.注册等表单信息 问题:键盘收回后页面底部留白,导致dialog组件按钮位移,视觉上,其中的按钮无法正常工作 解决方案:监听失去焦点时 ...

  9. [译] 用 Swift 创建自定义的键盘

    本文翻译自 How to make a custom keyboard in iOS 8 using Swift 我将讲解一些关于键盘扩展的基本知识,然后使用iOS 8 提供的新应用扩展API来创建一 ...

随机推荐

  1. Base64编码解码JS

    function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr ...

  2. Dubbo 入门学习笔记

    项目结构 模块介绍: DubboAPI    ----API接口 DubboConsumer ----消费者 DubboProvider ----生产者 DubboAPI  Service 提供的接口 ...

  3. Spark分布式编程之全局变量专题【共享变量】

    转载自:http://www.aboutyun.com/thread-19652-1-1.html 问题导读 1.spark共享变量的作用是什么?2.什么情况下使用共享变量?3.如何在程序中使用共享变 ...

  4. [ZZ] 如何在多版本anaconda python环境下转换spyder

    https://www.zhihu.com/people/alexwhu/answers 使用anaconda的话,可以参考以下步骤: 1.打开anaconda navigator,选择左侧的环境菜单 ...

  5. Ubuntu下查看SD卡设备名的几个方法

    Ubuntu下使用SD卡查询SD卡的设备文件名:sudo fdisk -leg:Disk /dev/sdb:14.9 GiB,15931539456 字节,31116288 个扇区单元:扇区 / 1 ...

  6. c# 使用http摘要认证

    .net 使用http摘要认证,返回json数据 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  7. SQL优化经验

    SQL 优化经验总结34条   我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享!   (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效 ...

  8. Spring3基础原理解析

    一.Spring3主要含义 Spring3是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 注:IOC的作用:对象依赖的其他对象通过被动的形式传递进来而不是这个对象常见或者查找依赖对象 ...

  9. JumpServer 安装配置

    环境 系统:Centos 7.4 阿里云ECS,单独绑定弹性公网IP 关闭selinux,防火墙对本机公司IP全开 #CentOS 7 $ setenforce 0 # 临时关闭,重启后失效 #修改字 ...

  10. linux中的查找命令find,locate,which,whereis

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了.  which       查看可执行文 ...