vue-touch-keyboard是一款基于vue2.x的虚拟键盘插件。它能够在输入表单内容时,唤起虚拟键盘,通过鼠标点击虚拟键盘的按键来代替键盘输入。
它的特点有:
- 内置3种虚拟键盘布局,你也可以自定义键盘布局。
- 没有任何外部依赖。
- 响应式设计。
- 可以自定义虚拟键盘样式。
使用方法
安装
如果您想使用vue-touch-keyboard虚拟键盘组件,首先您需要安装它,命令如下:
npm install vue-touch-keyboard
使用
在main.js中引入插件
import VueTouchKeyboard from "vue-touch-keyboard" import "vue-touch-keyboard/dist/vue-touch-keyboard.css" // load default style Vue.use(VueTouchKeyboard)
然后再需要使用虚拟键盘的vue文件中使用它。
<template> <div> <input type="text" placeholder="Text input" @focus="show" data-layout="normal" /> <vue-touch-keyboard :options="options" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" /> </div> </template> export default { data: { visible: false, layout: "normal", input: null, options: { useKbEvents: false, preventClickEvent: false } }, methods: { accept(text) { alert("Input text: " + text); this.hide(); }, show(e) { this.input = e.target; this.layout = e.target.dataset.layout; if (!this.visible) this.visible = true }, hide() { this.visible = false; } } }
配置参数
vue-touch-keyboard虚拟键盘组件的可用配置参数有:
- input: 输入框的html元素。
- layout: 虚拟键盘的布局。如果你使用内置的布局,只需配置对应的布局名称(见下方的布局说明)。如果你要自定义布局,需要传递一个布局对象。
- accept: 回调函数,当
Accept/Close
按钮被点击时触发。 - change: 回调函数,当输入框的值改变时触发。
- next: 回调函数,当
Next
按钮被点击,或者输入框可输入的文字长度达到maxLength
时触发。 - options: 自定义 options。
- useKbEvents:如果设置为
true
,组件会生成一个keydown
事件,并自动触发它。默认为false
。 - preventClickEvent:如果设置为
true
,组件会阻止默认的preventDefault
事件。
- useKbEvents:如果设置为
- defaultKeySet: 默认的键盘键集合。你可以在虚拟键盘初始化时自定义要显示哪些键。
内置布局
vue-touch-keyboard虚拟键盘组件支持三种内置布局:
- normal: 正常的键盘布局。
- numeric: 仅仅有数字的键盘布局。
- compact: 类似于移动手机上的键盘布局。