vue手机端开发聚焦不灵敏

tech2024-01-02  82

vue手机端开发聚焦不灵敏

前置:

手机端开发时有时使用UI框架中的输入框或者文本域在点击的时候聚焦不是很快速。因为一是有的控件带有动画过度效果,二是移动设备的屏幕点击事件大多会延迟300ms左右才会触发(所有版本的Android Chrome浏览器,如果设置viewport meta的值有user-scalable=no,浏览器也是会马上触发点击事件没有延迟),这是因为为了检查用户是否在做双击。

解决:

当然更优更好的解决方案有很多,此处记录的只是我自己解决此问题的一种方法。使用 fastclick

需要详细了解的可以看下这位大神的透彻讲解:https://www.cnblogs.com/ylweb/p/10549040.html

1.可以直接引用也可以npm引入,因为是vue项目开发的直接使用npm方式了

npm install fastclick --save

也可以使用标签引入(未测试):

<script type='application/javascript' src='/path/to/fastclick.js'></script>

2.在main.js中引入并使用

import FastClick from 'fastclick' FastClick.attach(document.body); FastClick.prototype.focus = function (targetElement) { var length; if (targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { length = targetElement.value.length; targetElement.focus(); targetElement.setSelectionRange(length, length); } else { targetElement.focus(); } };

至此,我的问题解决,希望对你有帮助!

最新回复(0)