最近做需求,遇到一个vue中输入4位英文判断图形验证的问题。就这个问题测试提了六七个bug,实属把握整不会了。下面就最主要的一个问题写一下解决方法:

需求详情:oninput事件输出长度为4位时,判断图形验证码是否正确,并toast.

bug复现:最开始只写了单独的input事件,但是当切换为中文输入法时,每次打字都会判断一次,造成toast多次出现。

解决思路:compositionstart  和 compositionend 判断输入法,当为中文输入法,输入完成之后在判断,当为英文输入法,长度为4就判断。

代码详情:

<input type="text" maxlength="4" id="imgcode"v-model="imgCode" class="code_input" placeholder="请输入图形验证码"@compositionstart="onCompositionStart"@compositionend="onCompositionEnd"@input="checkImgCode()"></input>

vue:

var lock =false;

checkImgCode: function() {

const vm =this;

if(!vm.lock){

if(!vm.imgCode) {

vm.message.initOption('请填写正确图案');

return;

}

}

},

onCompositionStart() {

const vm =this;

vm.lock = true;

},

onCompositionEnd() {

const vm =this;

// 输入中文触发

vm.lock = false;

},

注意:lock 的初始值 以及onCompositionStart()里lock为 true

vue中@input事件输入英文验证,切换中文文输入法验证错乱的解决方法:compositionstart和compositionend事件相关推荐

  1. B、KK中切换系统语言后默认输入法会自动切换到latin输入法

    B.KK中切换系统语言后默认输入法会自动切换到latin输入法 [描述] JB.KK中切换系统语言后默认输入法会自动切换到latin输入法,或者系统预置的默认输入法不能生效 [解法] JB解决方案: ...

  2. Linux中su无法切换到目录,linux普通用户su root切换提示没有文件或目录的解决方法...

    1. 首先进入单用户模式: 1). ubuntu : 上述情况可以在grub界面选择第二项修复,但没有grub可以参考: 1.重启ubuntu,随即长按shirft进入grub菜单: 2.选择reco ...

  3. JavaScript中的window.close在FireFox和Chrome上不能正常动作的解决方法

    原文:JavaScript中的window.close在FireFox和Chrome上不能正常动作的解决方法 JS中关闭窗口的方法window.close()在IE上能够正常动作,而在FireFox和 ...

  4. Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法

    Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法 在添加完之后,可以使用 $.parser.parse();这个方法进行处理: (1) 对整个页面重新渲染: $.parser ...

  5. 笔记本电脑键盘输入错误如何解决 电脑按键错乱的解决方法步骤

    笔记本电脑键盘输入错误如何解决 电脑按键错乱的解决方法步骤 我们的生活中越来越离不开电脑,但在使用电脑的过程中总会遇到各种各样的问题.知识屋致力于给电脑小白朋友们介绍一些简单常用问题的解决方法,这次给 ...

  6. win10Oracle繁体乱码,win10系统切换繁简字体出现乱码的解决方法

    win10系统内置微软的输入法,工作中经常会遇到有些软件因为系统繁简不兼容而出现乱码,让人感到很疑惑,有什么办法修复?其实这种问题要解决也简单,下面小编和大家说说win10系统切换繁简字体出现乱码的解 ...

  7. Mac OS 输入adb命令无效(zsh: command not found: adb)的解决方法

    Mac OS 输入adb命令无效(zsh: command not found: adb)的解决方法 出现这个问题大概率是因为Android环境未配置或者未生效,需要配置Android环境变量才能执行 ...

  8. 苹果7设置不显示网络连接服务器,苹果ios7.1验证失败因为您不再连接到互联网解决方法...

    接下来带给大家的是ios7.1验证失败 因为您不再连接到互联网解决方法,有很多果粉在升级ios7.1的过程中遇到了"ios7.1验证失败,因为您不再连接到互联网"提示,这是为什么? ...

  9. 在小皮面板中使用cmd进入mysql命令,包含mysql错误unknown variable ‘secure_file_priv‘解决方法(超详细)

    在小皮面板中使用cmd进入mysql命令,包含mysql错误unknown variable 'secure_file_priv'解决方法(超详细) 先按win+r键打开运行对话框,输入cmd,进入: ...

最新文章

  1. python3.x下 smtp发送html邮件和附件
  2. python实现文件下载-Python 实现文件下载
  3. Spring 框架用到的 9 个设计模式汇总!
  4. layui 自动渲染_Layui表格自动渲染
  5. 计算机故障代码0098,故障码P0098排除方法
  6. 微商深度揭秘——减肥产品、推广方法
  7. 深入了解触摸事件的分发
  8. SourceInsight4.0黑色背景主题
  9. Matrices(矩阵)
  10. 线性代数 | (4) n维向量
  11. COUNT统计未支付、待确认订单
  12. 实现页面的图文混排布局(Web作业)
  13. 讲几个问题,区块链底层架构
  14. 计算机一级基础及msoffice应用,全国计算机等级考试教程一级计算机基础及MS Office应用...
  15. height:100vh
  16. 云宏与英特尔携手发布了基于英特尔®至强®可扩展平台全面升级
  17. 如何入门学习cg原画
  18. 2008年中国电子商务十大时刻
  19. yocto源码下载和目录分析
  20. vue中如何展现快速增长数字的动画

热门文章

  1. springboot+vue的全平台支付系统
  2. pyqtgraph网格布局
  3. Linux 高并发服务器实战 - 1 Linux系统编程入门
  4. STM32F4+RT-Thread+LWIP+LAN8720A
  5. python的各种运算
  6. Solidworks 无法获得下列许可,许可证不一致的解决办法
  7. 教你三种检测网络故障方法!!!
  8. BFU-Database 数据库期末总结(含期末原题,防挂必看)
  9. 《花开半夏》--4 生死之间的吻(2)
  10. vb的学习心得-for循环