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

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

mouseover mouseup 的触发 3.tap 事件在移动端,代替 click 作为点击事件tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生的,所以是封装的...delayTime = 200, // 记录是否移动,如果移动,则不触发tap事件 isMove = false; // 在touchstart...(btn, function() { alert('taped'); }); 拓展: 点透问题 如果我们在移动端所有的 click 都替换为了 tap 事件,还是会触发点透问题的...,因为实质是: 在同一个 z 轴上,z-index 不同的两个元素,上面的元素是一个绑定了 tap 事件的,下面是一个 a 标签,一旦 tap 触发,这个元素就会 display: none,而从上面的...tap 可以看出,有 touchstart、touchend,所以会 300ms 之后触发 click 事件,而 z-index 已经消失了,所以,触发了下面的 a 的 click 事件,注意: 我们认为

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

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

前端的很多事件在PC端和浏览器端可公用,但有些事件却只在移动端产生,如触摸相关的事件 本文整理了移动端常见的一些事件,包括原生支持的click、touch、tap、swipe事件,也有定义型的gesture...手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动端的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一、事件定义及分类 1. click事件 单击事件,类似于PC端的...3. tap事件 触碰事件,我目前还不知道它和touch的区别,一般用于代替click事件,有tap longTap singleTap doubleTap四种之分 tap: 手指碰一下屏幕会触发...ev : ev.type); 11 }); 12 }); 13 } 14 15 addEvent(one, 'tap click touchstart touchmove touchend...2) 查看触发的事件对象 简单地修改,将事件监听中第三个参数置为true,输出完整的事件对象 addEvent(one, 'tap click touchstart touchmove touchend

2K20

vue.js中实现阻止事件冒泡

当父子元素中都有点击事件的时候,为了让触发子元素中的事件时,不去触发父元素中的事件,可以在子元素事件中添加stop来阻止事件冒泡。....stop 是阻止冒泡行为,不让当前元素的事件继续往外触发,如阻止点击div内部事件,触发div事件 .prevent 是阻止事件本身行为,如阻止超链接的点击跳转,form表单的点击提交 .self 是只有是自己触发的自己才会执行...,如果接受到内部的冒泡事件传递信号触发,会忽略掉这个信号 .capture 是改变js默认的事件机制,默认是冒泡,capture功能是将冒泡改为倾听模式 .once 是将事件设置为只执行一次,如 .click.prevent.once...代表只阻止事件的默认行为一次,当第二次触发的时候事件本身的行为会执行 .passive 滚动事件的默认行为 (即滚动行为) 将会立即触发,而不会等待 onScroll 完成。...阻止click事件冒泡(防止触发另一个事件)的方法 使用vue阻止子级元素的click事件冒泡。

5.9K10

appium+python自动化37-adb模拟点击事件(input tap)

求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑...500 500 模拟滑动操作:input swipe 200 500 400 500 模拟轨迹球操作 input roll 100 200 input tap 1.input tap实现的是DOWN_UP...事件,也就是点击操作,后面两个参数是点击的坐标x,y 2.举个例子:点击淘宝app的icon图标,先查看坐标[149,388][290,618],大概可以算出需要点击的点为(200, 500) ?...打开cmd,输入adb执行,这个时候可以看到淘宝app已经启动了 > adb shell input tap 200 500 ? 3.再继续点击淘宝上的‘我的淘宝’按钮 (600, 1250) ?...> adb shell input tap 600 1250 ? python执行adb命令 1.回到手机的home首页,执行以下python脚本,也能达到同样效果 ?

2.6K30

Vue移动端 Web App 点击穿透问题解决方案

改用 touch 事件 由于项目使用的是 Vue.js,这里就提供一下 Vue.js 的解决方法。...使用了 vue-tap 的一个插件,具体使用方法参看官方文档,在需要点击事件的时候,通过 v-tap 指令来绑定。...其他 tap 一词 对于 tap 这个词,用过 Zepto 或 KISSY 等移动端js库的人肯定对tap事件不陌生,做PC页面时绑定 click,相应地手机页面就绑定 tap。...但原生的 touch 事件本身是没有 tap 的,js库里提供的tap事件都是模拟出来的。 手机上响应 click 事件会有300ms的延迟,那么这300ms到底是干嘛了?...由此可以看出 click 事件触发代表一轮触摸事件的结束。 既然说tap事件是模拟出来的,我们可以看下 Zepto 对 singleTap 事件的处理。

1.6K30

Vue.js入门笔记 事件修饰符

尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。 为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。...Vue 事件修饰符 .stop 阻止事件继续传播(阻止冒泡) .prevent 阻止默认事件 .capture 添加事件监听器时使用事件捕获模式 .self....capture 添加事件监听器时使用事件捕获模式 image.png capture事件 .self 只点击当前元素才会被执行 点击那个元素,那个元素才有事件产生,父子元素互不影响。...("触发了点击 链接点击 事件"); } }, }); .once 只触发一次事件处理函数 image.png once事件 第一次点击元素有事件产生,第二次点击就没有相对应事件的产生...1 image.png passive事件2 点击元素后有事件产生之后发生跳转事件

1.1K20

WePY 在小程序性能调优上做出的探究

methods: { tap () { this.$redirect('....这也就是为什么一个类 Vue.js 的小程序框架却选择了与之相反的另外一种数据绑定方式。...反观 WePY,使用类似于 Vue.js 的组件化开发,在抛开父子组件双向绑定通信的情况下,组件的脏检查仅针对组件本身的数据进行,一个组件的数据通常不会太多,数据太多时可以细化组件划分的粒度。...因为并不存在一个页面跳转事件(onShow 事件可以用作页面跳转事件,但同时也存在负作用,比如按 HOME 键后切回来,或者拉起支付后取消,拉起分享后取消都会触发 onShow 事件)。...参考 Vue.js 官方文档: 混合 优化事件,支持自定义事件 bindtap="tap"简写为 @tap="tap",catchtap="tap"简写为@tap.stop="tap"。

4.8K20
领券