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

js移动端中touch事件

触摸事件是在移动设备(如智能手机或平板电脑)上查看页面时触发的事件。 它们允许您跟踪多点触摸事件。...我们有4个触摸事件: touchstart 触摸事件已经启动(触摸表面) touchend 一个触摸事件已经结束(表面不再被触摸) touchmove 触摸移动手指(或任何接触设备的东西)在表面移动 touchcancel...触摸事件已被取消 每当一个触摸事件发生,会触发一个触摸事件: const link = document.getElementById('my-link') link.addEventListener...('touchstart', event => { // touch event started }) 以下是我们可以访问该事件的所有属性: identifier 标识符此特定事件的唯一标识符。...用于跟踪多点触摸事件。相同的手指=相同的标识符。

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

JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件

js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。 我们加一个延迟时间就能很好的解决这个问题。...原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 click_store 里,如果 0.3 秒内没有接收到双击事件,就去执行它,如果接收到了,我们把它清理掉,然后去执行双击事件。...var click_store // 定义一个全局变量存储单击触发事件 document.addEventListener('click', deal_click); document.addEventListener...dblclick', deal_dblclick); function deal_click(e){ click_store = setTimeout(function(e){ // 单击触发事件...,0.3s延迟 ... },300); } function deal_dblclick(e){ // 单击事件清理 clearTimeout(click_store); // 双击触发事件

5.9K30

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

参考答案: 1.click 事件在移动端会有 200-300ms 的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的 200-300ms 之后,才触发 click,...2.touch 事件是针对触屏手机上的触摸事件。现今大多数触屏手机 webkit 内核提供了 touch 事件的监听,让开发者可以获取用户触摸屏幕时的一些信息。...其中包括:touchstart, touchmove, touchend, touchcancel 这四个事件,touchstart touchmove touchend 事件可以类比于 mousedown...mouseover mouseup 的触发 3.tap 事件在移动端,代替 click 作为点击事件,tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生的,所以是封装的...事件,注意: 我们认为 a 标签默认是绑定了 click 事件的。

5.7K40

touch事件,touchEvent对象

一、touch事件类型 touchstart - 手指触摸屏幕,在元素上按下时触发 touchmove - 手指移动,在元素上按下之后屏幕上任意移动 tounchend - 手指在元素上按下之后,屏幕任意位置抬起时触发...touchcancel - 触摸过程中被系统取消时触发 (很少使用) touch 事件与mouse事件区别: touchstart:手指按下,mousedown:鼠标按下。...touch事件只能在移动端使用,mouse :事件只能在 PC 端使用。 touchstart: 只能在绑定元素内按下触发,touchmove、touchend可以在屏幕的任意位置执行。...touches - 当前屏幕上的手指触摸 touch 列表。 changedTouches - 触发当前事件的触摸 touch 列表。...如果可以支持触摸事件,则把鼠标事件使用event.preventDefault()阻止事件发生,此时鼠标事件将失效。如果鼠标和触摸事件都支持时,还有添加多个触摸事件时,具体的执行顺序是怎么的?

89130

Touch 移动设备上的 手势识别 与 Js事件

Touch.js 是移动设备上的手势识别与事件库, 由百度云Clouda团队维护,也是在百度内部广泛使用的开发工具。 Touch.js手势库专为移动设备设计。...Touch.js对于网页设计师来说,是一款不错的辅助工具,可以减少很多写框架控制器的时间。 网页合理使用Touch.js不但能增加网页的美观感,而且在节约时间,减少人力投入也有极大的帮助。...pinch: true, //pinch类事件开关 } 百度touch.js可以说是Web移动端touch点击事件不错的解决方案,搭配zepto.js或者jQuery...百度官方touch.js的说明文档,详见:http://cloudajs.org/docs/step4_API_Documentation#h2_7 Touch.js上手还是很容易的,语法: touch.on...拖动开始 dragstart 拖动屏幕 拖动 drag 拖动手势 拖动结束 dragend 拖动屏幕 拖动 drag 拖动手势 长按 hold 长按屏幕 敲击 tap 单击屏幕 ~ doubletap 双击屏幕

4K40

HarmonyOS实战—实现双击事件

双击事件 双击事件和单击事件有些类似,也有四种实现的方法 1.通过id找到组件。 2.给按钮组件设置双击事件。 3.本类实现DoubleClickedListener接口重写。...实现案例 当鼠标双击按钮后,Text文本内容就会发生变化 [在这里插入图片描述] [在这里插入图片描述] 新建项目 ListenerApplication2 [在这里插入图片描述] 采用 当前类实现作为实现类...ResourceTable.Id_text1); Button but1 = (Button) findComponentById(ResourceTable.Id_but1); // 2.绑定事件...(想到点谁,就给谁绑定事件) // 当双击了but1按钮之后,就会执行本类中的 onDoubleClick 方法 but1.setDoubleClickedListener..."); } } 运行: [在这里插入图片描述] 双击后: [在这里插入图片描述]

1.1K00

【移动端】touch事件及穿透事件

苹果的解决方案: 方案一:双指进行缩放 方案二:在屏幕上双击进行放大(单击300ms后,再单击才算双击),造成了,移动端点击事件,300ms 延迟的问题 解决方案,就是使用touch事件来替代 移动端新增...touch事件 --- 只能使用现代事件进行添加 touchstart: 触摸开始 touchmove: 触摸移动 touchend: 触摸结束 touchcancel:touch 取消,如来电等...[o]); }); $('#box' ).longtap( function (e) { console.log(e); ); 5. touch 事件的穿透 因click是在touch系列事件发生后...点击穿透现象的情况: 1) 蒙层问题 蒙层的关闭按钮绑定的是touch事件,而按钮下面元素绑定的是click事件touch事件触发后,蒙层消失,300ms后这个点的click事件触发。...e.preventDefault(); 方法二:吃掉touch之后的click, 使用计时器,让touch后延迟350ms再隐藏蒙层 方法三:使用fastclick.js;可以直接写click事件

1.9K10

双击事件与单击事件的那些事

双击事件与单击事件的那些事 前言 项目遇到了双击事件会同时触发单击事件的bug,还是简单记录一下。 心里话:日更太累了。以前都是单独花好几天的时间去看别人的博客,看很多博客后再慢慢输出。..."); } function mydblclick() { console.error("双击事件"); } 图片 合情合理,双击事件也是两次点击事件,所以同时会触发单击事件click和双击事件...但是需求是单击和双击不同的处理,所以双击的时候不应该触发单击事件。 解决方案 思路:可以使用函数防抖的做法,单击事件触发后,开启一个定时器,双击事件触发的话就清除定时器。...function mydblclick() { clearTimeout(timer); console.error("双击事件"); } 图片 可以发现还是有问题,双击事件还是会触发一次单击事件...el-checkbox使用注意点 双击事件和单击事件的问题处理完了,再加上一下下项目的踩坑点。 el-checkbox没有事件对象,平常的事件对象在el-checkbox上是布尔值,表示是否选中。

3.6K30

Android双击事件拦截方法

下文我们介绍两种双击事件拦截的方式 1.通过Android的事件分发机制进行拦截(dispatchTouchEvent) 话不多说,直接上代码: /** 判断是否是快速点击 */ private static...isFastDoubleClick()) { return true; } } return super.dispatchTouchEvent(ev); } 用法就是直接在你需要拦截双击事件的类中加入这两个函数...,系统会自动调用dispatchTouchEvent进行事件拦截,屏蔽掉双击事件,可以通过调整上述的时间达到你想要的效果 缺点就是加入后的整个activity都会屏蔽掉双击事件,可能会影响其他组件的正常使用...return true; } lastClickTime = time; return false; } 使用方法就是将这个函数放到一个工具类中,在你需要进行双击事件拦截时,直接调用这个函数进行判断即可...,有没有很方便 以上这篇Android双击事件拦截方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.9K10

Touch事件实现View拖动

Touch监听事件可以监听手指在屏幕上的行为,例如按下、滑动。抬起。根据这些事件,可以做出View任意推动的效果。...注意: onTouch和onClick事件冲突问题:   当同时实现了Touch和Click事件时,会发生冲突,如何避免?在我们的onTouchListener的监听方法会返回一个boolean。...当它为false时,就会触发Click事件,当它为true时,便不会触发。我们希望在点击的时候触发点击事件,在拖动的时候实现移动效果的Touch事件。   ...这样做会出现很难触发点击事件。拖动事件太容易触发。所以我们需要加点限制。在ACTION_MOVE中我们获得X、Y移动的距离。那么我们判断当期中一个的移动距离大于1的时,才执行key=true。...正确的姿势是在touch时间或者click事件触发的时候调用。 View获取的位置的参照物是它的父控件:   对于view来说,他的上下左右位置参照物是它的父控件,无论父控件在屏幕的哪个位置。

1.5K10

Android Touch事件传递机制

简介:   Touch事件的传递机制与生活贴近,从父布局开始一步一步的向下分发事件。分发事件时调用boolean dispatchTouchEvent(MotionEvent ev);方法。...Touch事件传递时,每次分发之后,会调用拦截方法boolean onInterceptTouchEvent(MotionEvent ev)方法,拦截后由拦截者来执行。   ...Touch事件传递拥有记忆功能,处理了一次事件传递,假定底层布局都没发完成事件,最后是由顶层父布局自己处理的。那么,相同事件再次产生的时候,顶层布局就不会向下分配,而是自己直接处理事件。...总结:   可以看出这个公司的小例子正好对应了Touch事件传递机制。一层一层往下传递,当下面无法完成时,又网上回传。...而手指抬起时再次发生了Touch事件,任然传递至TextView被解决。 ?

1.1K30
领券