vue实现移动端H5数字键盘组件使用详解


Posted in Javascript onAugust 25, 2020

本文实例为大家分享了vue实现移动端H5数字键盘组件的使用代码,供大家参考,具体内容如下

我们平时扫码付款的时候,经常会输入一些数字进行付款,仔细看了下键盘和系统的键盘有点不一样,于是今天买甘蔗的时候扫码付款就想了一下要怎么去实现一个。话不多说,直接上代码。

结果如下:

vue实现移动端H5数字键盘组件使用详解

代码如下:

<template>
 <div class="keyboard-wrapper">
 <input type="text" v-model="NUM" @focus="show = true" onfocus="this.blur()"/>
 <div class="keyboard" v-if="show">
 <div class="num">
 <table>
  <tr>
  <td @click="change(1)" :class="[active === 1 ? 'active' : '']" @touchstart="msDown(1)" @touchend="msUp(1)">1</td>
  <td @click="change(2)" :class="[active === 2 ? 'active' : '']" @touchstart="msDown(2)" @touchend="msUp(2)">2</td>
  <td @click="change(3)" :class="[active === 3 ? 'active' : '']" @touchstart="msDown(3)" @touchend="msUp(3)">3</td>
  <td rowspan="2" class="del" @click="del">×</td>
  </tr>
  <tr>
  <td @click="change(4)" :class="[active === 4 ? 'active' : '']" @touchstart="msDown(4)" @touchend="msUp(4)">4</td>
  <td @click="change(5)" :class="[active === 5 ? 'active' : '']" @touchstart="msDown(5)" @touchend="msUp(5)">5</td>
  <td @click="change(6)" :class="[active === 6 ? 'active' : '']" @touchstart="msDown(6)" @touchend="msUp(6)">6</td>
  </tr>
  <tr>
  <td @click="change(7)" :class="[active === 7 ? 'active' : '']" @touchstart="msDown(7)" @touchend="msUp(7)">7</td>
  <td @click="change(8)" :class="[active === 8 ? 'active' : '']" @touchstart="msDown(8)" @touchend="msUp(8)">8</td>
  <td @click="change(9)" :class="[active === 9 ? 'active' : '']" @touchstart="msDown(9)" @touchend="msUp(9)">9</td>
  <td rowspan="2" class="comfirm" @click="comfirm">确定</td>
  </tr>
  <tr>
  <td colspan="2" @click="change(0)" :class="[active === 0 ? 'active' : '']" @touchstart="msDown(0)" @touchend="msUp(0)">0</td>
  <td colspan="1" @click="change('.')" :class="[active === '.' ? 'active' : '']" @touchstart="msDown('.')" @touchend="msUp('.')">.</td>
  </tr>
 </table>
 </div>
 </div>
 </div>
</template>
 
<script>
 
export default {
 name: 'App',
 data () {
 return {
 active: null,
 show: false,
 NUM: '',
 result: []
 };
 },
 computed: {
 // 统计打中的地鼠数量
 num: function () {
 return this.result.join('');
 }
 },
 created () {
 },
 mounted () {
 },
 methods: {
 msDown (v) {
 this.active = v;
 },
 msUp (v) {
 this.active = '';
 },
 stopInput () {
 return false;
 },
 change (val, $event) {
 if (this.result.length === 0 && val === '.') {
 return false;
 } else {
 this.result.push(val);
 this.NUM = this.result.join('');
 }
 },
 del () {
 this.result.pop();
 this.NUM = this.result.join('');
 this.$emit('del', this.NUM);
 },
 comfirm () {
 this.$emit('comfirm', this.NUM);
 this.show = false;
 }
 }
};
</script>
<style lang="less" scoped>
.keyboard-wrapper {
 user-select: none;
 input {
 width:100%;
 height:50px;
 font-size:25px;
 }
 .keyboard {
 position: fixed;
 bottom: 0;
 width: 100%;
 .num {
 table {
 width: 100%;
 border: 1px solid #ccc;
 border-collapse: collapse;
 background: #fff;
 td {
  height: 50px;
  vertical-align: middle;
  color: #333;
  font-size: 20px;
  border: 1px solid #ccc;
  text-align: center;
 }
 td.active{
  background:#ccc;
 }
 .del {
  background: #eee;
 }
 .comfirm {
  font-size: 16px;
  width: 80px;
  background: #118eeb;
  color: #fff;
 }
 }
 }
 }
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
jquery日历控件实现方法分享
Mar 07 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
jquery队列函数用法实例
Dec 16 Javascript
jQuery模拟新浪微博首页滚动效果的方法
Mar 11 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
详解webpack+es6+angular1.x项目构建
May 02 Javascript
JavaScript实现瀑布流图片效果
Jun 30 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
react PropTypes校验传递的值操作示例
Apr 28 Javascript
浅谈react路由传参的几种方式
Mar 23 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 #Javascript
js实现页面导航层级指示效果
Aug 25 #Javascript
js实现拖拽元素选择和删除
Aug 25 #Javascript
基于vue实现简易打地鼠游戏
Aug 21 #Javascript
vue实现打地鼠小游戏
Aug 21 #Javascript
js实现滑动进度条效果
Aug 21 #Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 #Javascript
You might like
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP Directory 函数的详解
2013/03/07 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
php实例分享之二维数组排序
2014/05/15 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
python pdb调试方法分享
2014/01/21 Python
Python多线程爬虫简单示例
2016/03/04 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python中字典和集合学习小结
2017/07/07 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
详解Python中的测试工具
2019/06/09 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
露营世界:Camping World
2017/02/02 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
中层干部竞聘演讲稿
2014/05/15 职场文书
服务口号大全
2014/06/11 职场文书
活动总结报告怎么写
2014/07/03 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
2014年资料员工作总结
2014/11/18 职场文书
绿色环保倡议书
2015/04/28 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL