最近在一个Vue的项目中做了个虚拟键盘,结果遇到了点击延时问题。

第一反应,但是是去找 fastclick 的解决法案。但是发现在Vue项目中,并没有什么卵用~似乎是与Vue的点击事件有冲突,没时间也就懒得深入研究了。

接着搜到了一个 vue-tap 的项目,一试果然可以。。于是愉快的提交代码,下班嘚瑟去了~

但是。。。(如你们所料)万事都不可能这么简单的就能解决的~第二天又客户拿了一个设备来说点击还是有延时~心中还怀疑是否缓存的问题。结果怎么调试都还是有延时。。。(心中的草泥马已经无法压抑~)

正在纳闷的时候,突然想到,既然点击时间有延时,那我直接监听touchstart事件呢?毕竟是个虚拟键盘,并不需要只要能实现“点击”的效果就行。于是动手改了代码,一测试,果然。。。问题迎!刃!而!解!

回头再想想整个过程,我们在处理问题的时候,往往会将问题扩大化,而很多问题也许只需要换个思路,简单的改动就能解决~

代码就不上了,无非就是 @click="xxx" 改成 @touchstart="xxx" 而已~