首页 > 其他分享 >移动端插件 移动端点击事件会有延迟

移动端插件 移动端点击事件会有延迟

时间:2022-11-23 02:33:06浏览次数:82  
标签:插件 document js 点击 事件 touch 移动

iScroll插件(滚动条效果)

  • 先引入iScroll的js文件
  • iScroll中文网站
    http://caibaojian.com/iscroll-5/
  • 加入id=“wrapper”,给父元素加(如果是ul>li,应该给ul的父元素加)
  • 实例化
<script type="text/javascript">
var myScroll = new IScroll('#wrapper');
</script>

注意事项:如果父盒子的高度应该小于子元素,才能实现滚动效果

一些问题

在移动端onclick有300ms的延迟问题

  • 主要原因:点两下页面会有放大效果,不能确定到底是点一下还是两下,所以手机会有一个延迟
  • 解决方式:禁止网页双击缩放:加入meat 或者 fastclick.js
  1. meat:user-scalable=no
  2. 下载fastclick文件,在页面中引入
<script type='application/javascript' src='/path/to/fastclick.js'></script>

写入代码
if ('addEventListener' in document) {
	document.addEventListener('DOMContentLoaded', function() {
		FastClick.attach(document.body);
	}, false);
}

参考这个网页
https://blog.csdn.net/qq_37730829/article/details/109155753

移动端触摸事件(touch)

  1. touchstart事件:开始触摸事件

  2. touchmove事件:手指滑动事件

  3. touchend事件:触摸结束事件

  4. touchcancel事件:当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作,即触发touchcancel。一般会在touchcancel时暂停游戏、存档等操作。

移动端touch事件有穿透(点透)的问题,怎么解决

  1. 阻止默认行为

  2. 下载fastclick文件,在页面中引入

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

写入代码
if ('addEventListener' in document) {
	document.addEventListener('DOMContentLoaded', function() {
		FastClick.attach(document.body);
	}, false);
}

zepto.js插件(相当于移动端的jq,有很多操作,触摸事件‘tap’)

p50

懒加载以及原理

可以使用zepto.js插件

  • 一般用于页面中,需要加载很多图片,只开始只加载一个屏幕的图片
    原理:滚动距离+可视距离的高大>文档的高,再次请求接口进行加载
    zepto.js中有对应的插件可以实现更换图片url来实现出现图片(通过自定义属性内存放路径,等需要再次请求的时候,把自定义属性内的路径,放到url中达到显示图片的目的)
    ps:救命之前学的好多js底层忘光了,我干

标签:插件,document,js,点击,事件,touch,移动
From: https://www.cnblogs.com/zongkm/p/16916108.html

相关文章