モバイルエンドをクリック300msの遅延を解消

なぜ300msの遅延がありますか?

系统需要判断点击后300ms之内是否有第二次点击,如果有,就是放大缩小整个窗口查
看窗口内容。如果没有第二次点击,就会传入click事件给页面。那么页面的click就会导
致有300ms延迟。

ソリューション

通用的js解决方案,使用fastclick

原則

在检测到 touchend 事件的时候,会通过DOM自定义事件立即出发模拟一个click事件
并把浏览器在300ms之后真正的click事件阻止掉

使用

htmlページに追加し、javascriptをダウンロードfastclick.jsには注意してください

<script type='application/javascript' src='/path/to/fastclick.js'></script>
if ('addEventListener' in document) {
	document.addEventListener('DOMContentLoaded', function() {
		FastClick.attach(document.body);
	}, false);
}

そのようなものとして使用することができるCommonJSモジュール

npm install fastclick -S 
var attachFastClick = require('fastclick');
attachFastClick(document.body);

Vueが使用しました

npm install fastclick -S 
import FastClick from 'fastclick'        
FastClick.attach(document.body);

fastclick githubの地址
あなたを参照してください〜

公開された27元の記事 ウォン称賛37 ビュー2758

おすすめ

転載: blog.csdn.net/weixin_44691775/article/details/104441741