首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS篇(028)-移动 click 事件、touch 事件、tap 事件的区别

参考答案: 1.click 事件在移动会有 200-300ms 的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的 200-300ms 之后,才触发 click,...事件在移动,代替 click 作为点击事件,tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生的,所以是封装的,那么具体是如何实现的呢?...delayTime = 200, // 记录是否移动,如果移动,则不触发tap事件 isMove = false; // 在touchstart...(btn, function() { alert('taped'); }); 拓展: 点透问题 如果我们在移动所有的 click 都替换为了 tap 事件,还是会触发点透问题的...(2)对于上一个 tap 做延迟。

5.7K40

移动web开发,click touch tap区别

移动tap时会有穿透问题 一:click与tap比较 click与tap都会触发点击事件,但是在手机web,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件。...singleTap 和doubleTap分别代表单次点击和双次点击 二:tap的穿透处理 使用zepto框架的tap的点击事件,来规避click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件...就处在了页面的最前面 现在touchend冒泡到了document上,并且$('.b')在页面的最前面,然后就触发了click事件 四:解决穿透问题 1.github上有一个叫做fastclick的库,它能规避移动设备上...click事件的延迟响应https://github.com/ftlabs/fastclick将它用script标签引入页面(该库支持AMD,可按照AMD规范,用require.js的模块加载器引入),...也可以不在body上初始化它,而在某个dom上初始化,这样,只有设个dom和它的子元素才能享受"无延迟"的点击 实践开发中,当元素绑定fastclick后,click响应速度比tap还要快一点。

2.2K100
您找到你想要的搜索结果了吗?
是的
没有找到

移动前端常见的触摸相关事件touch、tap、swipe等整理

前端的很多事件在PC和浏览器可公用,但有些事件却只在移动产生,如触摸相关的事件 本文整理了移动常见的一些事件,包括原生支持的click、touch、tap、swipe事件,也有定义型的gesture...手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一、事件定义及分类 1. click事件 单击事件,类似于PC的...click,但在移动中,连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件,有touchstart touchmove touchend touchcancel...,突然alert了一下,或者系统中其他打断了touch的行为,则可以触发该事件 3. tap类事件 触碰事件,我目前还不知道它和touch的区别,一般用于代替click事件,有tap longTap singleTap...2) 改用zepto.js正常 ? 看第五次的touch ? 看第二次的touch ? 看第四次的touch ?

2K20

【如果你要学JS XIV】—— 移动常用事件-移动touch触摸事件

导绪移动浏览器兼容性较好,不需要考虑JS的兼容性问题,可以放心的使用原生JS书写效果,但是移动也有自己独特的地方。如触屏事件touch (也称触摸事件) , Android和IOS都有。...这类事件用于描述一个或多个触点,使开发者可以检测触点的移动,触点的加和减少,等等 touchstart、touchmove、 touchend 三个事件都会各自有事件对象。...touchstart,touchmove,touchend 可以实现拖动元素2.但是拖动元素需要当前手指的坐标值我们可以使用targetTouches[0] 里面的pageX和pageY3.拖动的原理:手指移动计算出手指移动的距离...,然后用盒子原来的位置+手指移动的距离4.手指移动的距离 = 手指滑动中的位置 - 手指刚开始触摸的位置<!...= e.targetTouches[0].pageY - startY; // 移动盒子,盒子原来的位置+手指移动的距离 this.style.left =

45500

Vue.js开发移动经验总结

作者:阡ゼ陌 移动适配 相对于PC端来说,移动设备分辨率百花齐放,千奇百怪,对于每一个开发者来说,移动适配是我们进行移动开发第一个需要面对的问题。...idealviewport为浏览器定义的可完美适配移动的viewport,固定不变,可以认为是设备视口宽度device-width。...user-scale=no禁止缩放 所以现在我们知道,这段在移动常见的代码的意思,即将visualviewport和layoutviewport设置为idealviewport的值;这样我们在移动就不会出现滚动条...UI出图的时候一般是有一个固定的宽度的,而我们实际的移动设备的宽度却都不太一样,但是如果页面元素的缩放比例和页面宽度的缩放比例一致,在不同尺寸的设备下我们网页的效果也将会是一致的。...键盘弹出与使用transform属性的情况在移动是很常见的,所以需要谨慎使用position:fixed。 推荐使用flex flex,即弹性布局,移动兼容性较好,能够满足大部分布局需求。

4.2K10

JS案例 - 基于vue的移动长按手势

别急~ 长按功能原理分析一波: 所谓的长按其实就是手指按下去,不移动,超过一定时间才把手指拿开的一个过程(我说的好有道理哈哈哈。然后听到一片同一个声音:废话!!)。...监听手指按下去后是否有移动,就该touches上场了,监听他的clientX,clientY只要没变就是没移动。 并且在这个过程中,还会不时地有地方的英雄冒出来干扰我们补兵。...那就是一个手机自带的效果了:   长按时,在移动触摸文字,(至少ios里)会出现选择文字等干扰我们的真正功能,用了preventDefault()这个属性后就没有了。...所以每次获取数组里边的第一个对象对应的clientX和clientY,就是实时的移动点的位置 //找这个点的作用,就是为了监听用户,是否按住还移动了。...// 那么移动的话,先要清除事先埋伏的定时器timer1.要不然,虽然不是长按事件但是倒计时还在进行中。

8.9K30

java移动开发_移动开发

1.移动端视口问题 视口是指浏览器的可视区域,移动的视口到底是多宽呢? 现在市面上的大部分手机,比如iphone X,它的默认视口宽度为980px,而一个iphone X的屏幕宽度仅仅为375px。...我们可以使用谷歌浏览器的移动调试工具,来访问百度的搜索结果,可以看到网页明显被缩小了,而且页面宽度定格在980px(不信的话大家可以试试)。...3.移动尺寸 是同一个网页在不同尺寸手机中的效果。...解决方法: 写一段JS代码,应用到网页 !...注意:在移动,如果使用了背景图(比如雪碧图),记得用同样的方式调整背景图的尺寸。 题外话:移动看上去是不是很麻烦?视口那么小,还要引入各种东西,里面要添加的又杂又乱,还要计算数值,是不是很麻烦?

4.9K20

🤔 移动 JS 引擎哪家强?美国硅谷找......

移动应用比较广泛的脚本语言有 Lua 和 JavaScript,前者在游戏领域用的比较多,后者在应用领域用的比较多。...性能没得说,开启 JIT 后就是业内最强(不止是 JS),有很多介绍 V8 的文章,我这里就不多描述了,我们这里说说 V8 在移动的表现。...using Google Chrome's DevTools[19] 综合来看,Hermes 是一款专为移动 Hybrid UI System 打造的 JS 引擎,如果要自建一套 Hybrid 系统...综合来看,QuickJS 是一款潜力非常大的 JS 引擎,在 JS 语法高度支持的前提下,还把性能和体积都优化到了极致。在移动的 Hybrid UI 架构和游戏脚本系统都可以考虑接入。...如果大家有移动 JS 引擎选型的困惑,我认为从本文出发,还是可以给不少人以灵感的,希望我的这篇文章能帮助到大家。 参考链接 跨框架的核心技术到底是什么? 如何隐藏你的热更新 bundle 文件?

3.6K30
领券