嘎嘎好用的Vue虚拟键盘simple-keyboard
触屏项目中有要手动输入证件号码的需求,自己写的全键盘样式丑了吧唧,我寻思搜搜有没有现成的 还!真!有! 挺冷门的一个键盘组件
官网
https://virtual-keyboard.js.org/vuejs
示例
https://hodgef.com/simple-keyboard/demos/
文档
https://hodgef.com/simple-keyboard/getting-started/
黑的、白的、移动端、全键盘、数字键盘、各种看不懂的文字啥样的都有
代码示例也很全面 可以说是十分贴心了
实际应用
- 先安装
npm i simple-keyboard -S
- 我这里是单独写了一个SimpleKeyboard.vue的组件
<template><div :class="keyboardClass"></div>
</template><script>
import Keyboard from "simple-keyboard";
import "simple-keyboard/build/css/index.css";export default {name: "SimpleKeyboard",props: {keyboardClass: {default: "simple-keyboard",type: String},input: {type: String}},data: () => ({keyboard: null, }),mounted() {this.keyboard = new Keyboard(this.keyboardClass, {onChange: this.onChange,onKeyPress: this.onKeyPress});this.setKeyboard() },methods: {onChange(input) {this.$emit("onChange", input);},onKeyPress(button) {this.$emit("onKeyPress", button);},setKeyboard() {this.keyboard.setOptions({layoutName: "default",theme: "hg-theme-default hg-layout-default myTheme",layout: {default: ["1 2 3 4 5 6 7 8 9 0","Q W E R T Y U I O P",'A S D F G H J K L',"{bksp} Z X C V B N M {enter}",]},buttonTheme: [{class: "bksp",buttons: "{bksp}"},{class: "enter",buttons: "{enter}"}],display: {'{bksp}': "删除",'{enter}': "确认"}});}},watch: {input(input) {this.keyboard.setInput(input);}}
};
</script>
样式
<style>.simple-keyboard {max-width: 850px;padding: 15px;margin: 0 auto;margin-top: 380px;box-shadow: 0 4px 0 #b2b2b2, 0 7px 16px rgba(0,0,0,.6);}.hg-theme-default .hg-button.hg-standardBtn{height: 50px;margin: 8px 10px;font-size: 23px;background-color: #fff;border-radius: 8px;cursor: pointer;-webkit-box-shadow: 0 4px 0 #b2b2b2, 0 5px 10px rgba(0,0,0,.7);box-shadow: 0 3px 0 #b2b2b2, 0 4px 6px rgba(0,0,0,.7);}.hg-theme-default .hg-button.hg-standardBtn:active {box-shadow: 0 4px 0 #717070, 0 5px 3px rgba(0,0,0,.9);background-color: #efefef;}.simple-keyboard.hg-layout-default .hg-button.bksp {height: 50px;margin: 8px 10px;font-size: 23px;background-color: #fff;border-radius: 8px;cursor: pointer;-webkit-box-shadow: 0 4px 0 #b2b2b2, 0 5px 10px rgba(0,0,0,.7);box-shadow: 0 3px 0 #b2b2b2, 0 4px 6px rgba(0,0,0,.7);background: #a8001e;color: white;}.simple-keyboard.hg-layout-default .hg-button.bksp:active {box-shadow: 0 4px 0 #717070, 0 5px 3px rgba(0,0,0,.9);background-color: #efefef;color: #000000;}.simple-keyboard.hg-layout-default .hg-button.enter {height: 50px;margin: 8px 10px;font-size: 23px;background-color: #fff;border-radius: 8px;cursor: pointer;-webkit-box-shadow: 0 4px 0 #b2b2b2, 0 5px 10px rgba(0,0,0,.7);box-shadow: 0 3px 0 #b2b2b2, 0 4px 6px rgba(0,0,0,.7);background: #a8001e;color: white;}.simple-keyboard.hg-layout-default .hg-button.enter:active {box-shadow: 0 4px 0 #717070, 0 5px 3px rgba(0,0,0,.9);background-color: #efefef;color: #000000;}
</style>
文档是英文的 我连翻译带猜的改了排版和样式 整了点立体按钮效果
- 在需要应用的页面 引入 注册 使用即可
<!-- 全键盘组件 --><div class="keyboard-mask"><SimpleKeyboard @onChange="onChange" @onKeyPress="onKeyPress" :input="input"/></div>
onChange(input) {// input 是当前点击按钮的值},onKeyPress(button) {if (button == "{enter}") {// 如果按确认键的相应操作}if (button == "{bksp}") {// 删除键的相应操作}},
嘎嘎好用的Vue虚拟键盘simple-keyboard相关推荐
- html桌面插件,js桌面虚拟键盘插件A-Keyboard
A-Keyboard是一款js虚拟键盘插件.该插件可以在桌面端模拟普通键盘,移动端键盘和数字键盘.并且内置了几种可选用的主题效果. 使用方法 内置主题的CSS文件. 初始化插件 通过模块化的方式来使用 ...
- Windows Store apps开发[72]Windows 8 开发31日-第15日-虚拟键盘
注:本文由BeyondVincent(破船)翻译首发 转载请注明出处:BeyondVincent(破船)@DevDiv.com 第15日-虚拟键盘 : 今天,我将介绍Windows 8中的虚拟 ...
- vue 管理后台 使用虚拟键盘组件 支持中英文切换
前言:在大型触屏设备(如双屏设备)中,就没有键盘去操作,而且在触屏input或者textarea的输入时候就无法去输入值,没办法触发输入框enter事件,所以就需要去建立一个虚拟键盘去操作 就想着找一 ...
- Vue使用虚拟键盘+中英文切换
1.安装依赖 npm install simple-keyboard --save npm install simple-keyboard-layouts --save 2.虚拟键盘组件 simple ...
- 【土旦】vue 解决ios H5底部输入框 获取焦点时弹出虚拟键盘挡住输入框 以及监听键盘收起事件...
问题描述 im聊天H5页面,在iOS系统下,inpu获取焦点弹出系统虚拟键盘时,会出现挡住input的情况,十分影响用户体验. bug图 解决方法: html: <input type=&quo ...
- 一个VueJS虚拟键盘组件
这个虚拟键盘就是这样的:详细属性在这里 https://javascript.ctolib.com/vue-touch-keyboard.html 我今天要说的就是不用vue-cli脚手架怎么来使用这 ...
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘
原文地址:http://blog.csdn.net/xiaotanyu13/article/details/7711954 iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击 ...
- 如何使用 OpenCV 开发虚拟键盘
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 介绍 OpenCV 是最流行的计算机视觉任务库,它是用于机器学习. ...
- 手机虚拟摄像头_没键盘也能打字?三星展示最新虚拟键盘Selfie Type:是真的
1月8日消息,三星在近日举行的2020 CES国际消费电子展上展示了虚拟键盘Selfie Type,它是一款全新的概念产品,由三星内部的创意实验室C-Lab研发,能够通过手机的前置摄像头来智能识别用户 ...
最新文章
- 面试官问:平常你是怎么对 Java 服务进行调优的?
- python中map函数的用法
- 被丢弃的消息不能再次出现
- Overview of ISA and TMG Networking and ISA Networking Case Study (Part 2)
- dataframe第二列 r语言_123.R简介和统计绘图
- python的format函数如何理解_python format函数的使用
- 求1000以内的所有水仙数c语言,求1000以内的所有水仙花数
- 计算机英语讲课笔记(2020-6-13)
- west-first路由算法
- 你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
- libvlc.java_java – LibVlc android无法加载库
- 计算机用户删除 cmd,命令提示符下怎么新建用户和删除用户
- 在Vmware14中安装Linux系统教程(图文教程)
- 输入n×n阶矩阵,用函数编程计算并输出其两条对角线上的各元素之和
- C# 调用 C++生成的Dll
- 敏捷 scrum_敏捷教练,Scrum大师,交付经理
- 【人工智能】李开复MIT演讲:这5个原因将导致中国AI赶超美国
- 故宫学系列之紫禁城:从皇宫到博物院
- Windows将文件夹打包成war包
- outlook 发送邮件没有“附件”、“主题”提醒
热门文章
- python控件_python控件怎么用
- bili弹幕姬_b站弹幕姬|b站弹幕姬下载_v1.0.1.126官方版_9号软件下载
- CentOS 6.7 源码搭建LNMP架构部署动态网站环境
- Linux磁盘管理和文件系统
- Java白盒测试三角形函数_白盒测试实验报告-三角形形状-山东大学
- 香鸡排三部曲:完结篇
- python 矩阵化为最简阶梯型
- 计算机考研专业课科目834,2018考研华中科技大学834计算机专业基础综合考试大纲...
- vue项目打包后出现页面布局异常、图片显示不出来等问题
- 【C语言从青铜到王者】第零篇·与C语言来个约会