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

触摸事件 touchstarttouchmove、touchend

目录 触摸事件概述 触摸事件编码 触摸手指个数分析 触摸目标 DOM 元素分析 触摸位置分析 ---- 触摸事件概述 1、HTML5 中, PC 端基于鼠标的界面互动主要是单击, 移动端界面交互方式主要是触摸...2、移动端浏览器触摸事件事件名称 描述 是否包含 touches 数组 touchstart 触摸开始,多点触控,后面的手指同样会触发 是 touchmove 接触点改变,滑动时 是 touchend...3、上面是使用 JQuery 的写法,推荐使用如下所示的 JavaScript 方式,因为获取回调函数的 事件对象时,JQuery 方式会有问题,JavaScript 则是没有问题的。 4、主要就是绑定事件的部分略有不同,可以参考 HTML DOM addEventListener() 方法 触摸手指个数分析 1、如下所示,将屏幕触摸的手指个数信息打印出来进行分析。...3、tSize 是当前位于屏幕的所有手指的列表个数、targetTSize 是位于当前绑定事件的 DOM 元素上手指的列表个数、changedTSize 是涉及当前事件手指的列表个数。

1.6K20

移动端轮播图笔记

触屏事件可以相应用户手指对屏幕或者触控板操作 常见的触屏事件: 1.touchstart:手指触摸到一个DOM元素时触发 2.touchmove:手指在一个DOM元素滑动时触发 3.touchend:...手指从一个DOM元素移开时触发 1.2触摸事件对象(TochEvent) TouchEvent是一类描述手指在触摸平面(触摸屏、触摸板等)的状态变化的事件。...这类事件用于描述一个或者多个触点,使开发者可以检测触点的移动,触点的增加和减少,等等 touchstarttouchmove、touchend三个时间都会各自有事件对象 触摸事件对象终点我们看三个常见对象列表...(); 2.移动轮播案例 三张图片进行轮播,需要将第一张克隆一张到最后,最后一张克隆一张到第一张,大概意思为下图: 11.jpg html布局 ...然后移动 无缝滚动实现完之后接着实现改变li小圆点的样式变换 这里介绍一个新的classList属性:它是HTML5新增的一个属性,返回元素的类名,但是ie10以上的版本才支持,该属性用于元素中添加、

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

10-移动端开发教程-移动端事件

最基本的touch事件包括4个事件touchstart: 当在屏幕按下手指时触发 touchmove: 当在屏幕移动手指时触发 touchend: 当在屏幕抬起手指时触发 touchcancel...(e) { console.log('touchstart'); }); 2.3 touchmove事件 当用户触摸屏移动触点(手指)的时候,触发这个事件...一定是先要触发touchstart事件,再有可能触发 touchmove 事件。 ​touchmove 事件的target 与最先触发的 touchstart 的 target 保持一致。...先放1个手指在其他地方,然后再放1个手指在div 先放1个手指在其他地方,然后再逐渐放2个手指在div 3.3 Touch详解 ​ Touch表示用户和触摸设备之间接触时单独的交互点...:手指在屏幕向下滑动时会触发 5.3 zepto的手势相关事件 Zepto.js 是一个轻量级的针对现代高级浏览器的JavaScript库, 它适配了jQuery的大部分api,也就是jQuery怎么用

6.7K80

10-移动端开发教程-移动端事件

最基本的touch事件包括4个事件touchstart: 当在屏幕按下手指时触发 touchmove: 当在屏幕移动手指时触发 touchend: 当在屏幕抬起手指时触发...2.1 touch事件与click事件同时触发 很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没有对触摸设备优化的代码仍然可以触摸设备正常工作)。...(e) { console.log('touchstart'); }); 2.3 touchmove事件 当用户触摸屏移动触点(手指)的时候,触发这个事件...一定是先要触发touchstart事件,再有可能触发 touchmove 事件。 ​touchmove 事件的target 与最先触发的 touchstart 的 target 保持一致。...先放1个手指在其他地方,然后再放1个手指在div ? 先放1个手指在其他地方,然后再逐渐放2个手指在div ?

6.3K70

JavaScript——触屏事件

常见的触屏事件如下: 触屏touch事件 说明 touchstart 手指触摸到一个DOM元素时触发 touchmove 手指在一个DOM元素滑动时触发 touchend 手指从一个DOM元素移开时触发...touchstarttouchmove、touchend三个事件都会各自事件对象 触摸事件对象重点我们看三个常见对象列表: 触摸列表 说明 touches 正在触摸屏幕的所有手指的一个列表 targetTouches...正在触摸当前DOM元素的手指的一个列表 changedTouches 手指状态发生了改变的列表,从无到有,从有到无变化 移动端拖动元素 touchstarttouchmove、touchend可以实现拖动元素...但是拖动元素需要当前手指的坐标值我们可以使用targetTouchies[0]里面的pageX和pageY 移动端拖动的原理:手指移动中,计算出手指移动的距离,然后用盒子原来的位置+手指移动的距离 手指移动的距离...:手指滑动中的位置减去手指刚开始触摸的位置 拖动元素三步曲: 触摸元素touchstart:获取手指初始坐标,同时获得盒子原来的位置 移动手指touchmove:计算手指的滑动距离,并且移动盒子 离开手指

2K10

「移动端」touch事件,touchEvent对象

一、touch事件类型 touchstart - 手指触摸屏幕,元素按下时触发 touchmove - 手指移动,元素按下之后屏幕上任意移动 tounchend - 手指在元素按下之后,屏幕任意位置抬起时触发...touch:事件只能在移动端使用,mouse :事件只能在 PC 端使用。 touchstart: 只能在绑定元素内按下触发,touchmove、touchend可以屏幕的任意位置执行。...而 mousedown、mousemove、mouseup 都只能在绑定元素内执行。 touchmove、touchend 只能在 touchstart 触发后,才能执行。...但是 mousemove 只要鼠标绑定元素,不按下也能执行。...,手机如何访问电脑本地网页,建议使用Browsersync,手机运行网页,手机触摸屏幕,元素触摸等观察上述三个属性打印情况。

99030

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

bug收集:专门解决与收集bug的网站 网址:www.bugshouji.com touch 事件的来历 2007 苹果推出iphone,浏览器网页iphone显示时字体特别小,根本看不清楚...苹果的解决方案: 方案一:双指进行缩放 方案二:屏幕双击进行放大(单击300ms后,再单击才算双击),造成了,移动端点击事件,300ms 延迟的问题 解决方案,就是使用touch事件来替代 移动端新增...touch事件 --- 只能使用现代事件进行添加 touchstart: 触摸开始 touchmove: 触摸移动 touchend: 触摸结束 touchcancel:touch 取消,如来电等...触摸开始后,不管touchmove , touchend 是否移出开始触摸的元素,e.target都是开始时触摸的元素dom....e.targetTouches:作用在当前元素的所有触点信息 【扩展】touch事件中的touches、targetTouches和changedTouches详解 https://www.cnblogs.com

2K10

「移动端」touch事件,touchEvent对象

一、touch事件类型 touchstart - 手指触摸屏幕,元素按下时触发 touchmove - 手指移动,元素按下之后屏幕上任意移动 tounchend - 手指在元素按下之后,屏幕任意位置抬起时触发...touch:事件只能在移动端使用,mouse :事件只能在 PC 端使用。 touchstart: 只能在绑定元素内按下触发,touchmove、touchend可以屏幕的任意位置执行。...而 mousedown、mousemove、mouseup 都只能在绑定元素内执行。 touchmove、touchend 只能在 touchstart 触发后,才能执行。...但是 mousemove 只要鼠标绑定元素,不按下也能执行。...,手机如何访问电脑本地网页,建议使用Browsersync,手机运行网页,手机触摸屏幕,元素触摸等观察上述三个属性打印情况。

1.1K30

「移动端」touch事件,touchEvent对象

一、touch事件类型 touchstart - 手指触摸屏幕,元素按下时触发 touchmove - 手指移动,元素按下之后屏幕上任意移动 tounchend - 手指在元素按下之后,屏幕任意位置抬起时触发...touch:事件只能在移动端使用,mouse :事件只能在 PC 端使用。 touchstart: 只能在绑定元素内按下触发,touchmove、touchend可以屏幕的任意位置执行。...而 mousedown、mousemove、mouseup 都只能在绑定元素内执行。 touchmove、touchend 只能在 touchstart 触发后,才能执行。...但是 mousemove 只要鼠标绑定元素,不按下也能执行。...,手机如何访问电脑本地网页,建议使用Browsersync,手机运行网页,手机触摸屏幕,元素触摸等观察上述三个属性打印情况。

1.8K20

touch事件,touchEvent对象

一、touch事件类型 touchstart - 手指触摸屏幕,元素按下时触发 touchmove - 手指移动,元素按下之后屏幕上任意移动 tounchend - 手指在元素按下之后,屏幕任意位置抬起时触发...touch:事件只能在移动端使用,mouse :事件只能在 PC 端使用。 touchstart: 只能在绑定元素内按下触发,touchmove、touchend可以屏幕的任意位置执行。...而 mousedown、mousemove、mouseup 都只能在绑定元素内执行。 touchmove、touchend 只能在 touchstart 触发后,才能执行。...但是 mousemove 只要鼠标绑定元素,不按下也能执行。...,手机如何访问电脑本地网页,建议使用Browsersync,手机运行网页,手机触摸屏幕,元素触摸等观察上述三个属性打印情况。

90030

第127天:移动端-获取触摸点的位置

一、移动端轮播图滑动 1、先获取手指在轮播图元素的滑动方向(左右) (1)手指触摸开始时记录手指所在的坐标X (2)获取界面上的轮播图容器 var $carousels=$('.carousel')...next':'prev'); javascript代码 1 //移动端轮播图滑动 2 3 //1、先获取手指在轮播图元素的滑动方向(左右) 4 //手指触摸开始时记录手指所在的坐标...next':'prev'); 40 41 42 43 } 二、移动端获取触摸点的方式说明 1.touchstart事件        手指头触摸屏幕事件 2.touchmove...       手指头屏幕滑动触发的事件 3.touchend         当手指从屏幕离开的时候触发 利用jquery配合使用方法如下: $("#demoid").bind('touchstart...touchstarttouchmove、touchend三种事件下的鼠标位置点获取: (1)touchstart事件下获取:e.originalEvent.targetTouches[0].pageX

1.4K20

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

1.触摸事件触屏touch事件说明touchstart手指触摸到一个DOM元素时触发touchmove手指在一个DOM元素滑动时触发touchend手指从一个DOM元素移开时触发...这类事件用于描述一个或多个触点,使开发者可以检测触点的移动,触点的加和减少,等等 touchstarttouchmove、 touchend 三个事件都会各自有事件对象。...触摸列表说明touches正在触摸屏幕的所有手指的一个列表targetTouches正在触摸当前DOM元素的手指的一一个列表changedTouches手指状态发生了改变的列表,从无到有,从有到无变化...因为平时我们都是给元素注册触摸事件,所以常用targetTocuhes3.TouchEvent触摸事件对象touches 正在触摸屏幕的所有于指的列衣,targetTouches 正在触摸当前DOM元素的手指列表如果侦听的是一个...DOM元素,他们两个是一样的,changedTouches 手指状态发生了改变的列表从无到有或者从有到无4.拖动元素1.touchstarttouchmove,touchend 可以实现拖动元素2.但是拖动元素需要当前手指的坐标值我们可以使用

51000

移动端touch拖动事件和click事件冲突问题解决

实现效果 类似微信里的悬浮窗效果,苹果手机的悬浮球功能效果 可以点击拖动,然后吸附在窗口边缘 点击悬浮球,可以跳转界面,或者更改悬浮球的形态 准备 移动端使用 touch事件类型: touchstart...当用户触摸平面上放置了一个触点时触发 (手指放到屏幕touchmove当用户触摸平面上移动触点时触发 (手指在屏幕滑动) touchend当一个触点被用户从触摸平面上移除(抬起手指...实现 通过设置悬浮球定位样式,拖动的时候计算坐标,然后动态的修改悬浮球的定位偏移量,结合transtion过渡效果,实现平滑的过渡 代码比较简单,就不贴了。...-> touchmove-> touchend 没有拖动行为,事件执行次序为:touchstart-> touchend 从上面的分析来看,我们可以从touchmove 入手,继续往下看 解决...touchmove事件中增加一个是否移动过的标记isMoved: true touchend事件中判断isMoved是否为true,是true则按原有逻辑执行,是false则说明没有移动过

2.2K20

第134天:移动web开发的一些总结(二)

em:是根据父节点的font-size为相对单位 rem:是根据html的font-size为相对单位 em多层嵌套下,变得非常难以维护,rem更加能作为全局统一设置的度量 那么,rem的基值设置为多少比较好...自定义tao事件原理: touchstart、touchend的记录时间、手指位置,touchend时进行比较,如果手指位置为同一位置(或允许移动一个非常小的位移值)且时间间隔较短(一般认为是200ms...(原因与300ms有关) tap透传的解决方案: ①使用缓存动画,过渡300ms的延迟 ②中间层dom元素的加入,让中间层接收这个“穿透”事件,稍后隐藏 ③“上下”都使用tap事件,原理上解决tap穿透事件...touchstart:手指触摸屏幕触发(已经有手指放屏幕不会出发) touchmove:手指在屏幕滑动,连续触发 touchend:手指离开屏幕时触发 touchcancel:系统取消touch时候触发...对象数组 changeTouches:上次触摸改变的touch对象数组 一个小BUG: android只会触发一次touchstart,一次touchmove,touchend不触发。

1.8K10

教你实现一个悬浮可拖动并在滑动页面时会自动收缩的vue侧边组件按钮

一、前言 实现一个悬浮可拖动且可自定义的一个侧边按钮,实际的业务开发中可以根据业务需要进行调整 效果图 最终实现的效果,移动端收缩时可以加点延时判断增加一下最终的流畅性 二、创建组件 创建一个div...动态赋值高度、宽度等属性,内部包裹元素我这里用的是一张图片,实际可以根据需要展示不同的内容。...touchmove touchend 获取组件Dom并通过addEventListener为该元素添加触摸事件touchstart touchmove touchend touchstart事件:当手指触摸屏幕时候触发...,即使已经有一个手指放在屏幕也会触发。...touchmove事件:当手指在屏幕滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。 touchend事件:当手指从屏幕离开的时候触发。

3.8K40

【总结】1823- 移动端滚动穿透与滚动溢出解决方案

DOM元素一样,我们姑且称之为滚动穿透。...于是 popup 元素设置该属性,禁用元素(及其不可滚动的后代)的所有手势就可以解决该问题了。...大意是说, touchstarttouchmove 事件中调用 preventDefault 方法可以阻止任何关联事件的默认行为,包括鼠标事件和滚动。 因此我们可以这样处理。...Step 1、监听弹窗最外层元素(popup)的 touchmove 事件并阻止默认行为来禁用所有滚动(包括弹窗内部的滚动元素)。...Step 2、释放弹窗内的滚动元素,允许其滚动:同样监听 touchmove 事件,但是阻止该滚动元素的冒泡行为(stopPropagation),使得滚动的时候最外层元素(popup)无法接收touchmove

44311

吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

监听事件禁止滑动 移动端触摸事件有三个,分别定义为 1. touchstart :手指放在一个DOM元素。 2. touchmove :手指拖曳一个DOM元素。...双层元素叠加时,在上层元素绑定 touch 事件,下层元素绑定 click 事件。...如果将 click 替换成 touchstart 会怎样? 事件触发顺序: touchstart, touchmove, touchend, click。...很容易想象,我需要touchmove滑动时候,优先触发了touchstart的点击事件,是不是已经产生了冲突呢? 所以呢,具有滚动的情况下,还是建议使用 click 处理。...== scrollParent.scrollTop) { return true; } 主要目的就是,使用 touchstart 合成 click 事件时,保证其不在滚动的父元素之下。

2.1K20

移动端的那些坑

部分机型touchmove事件不连续触发 Android的事件每次都要经过浏览器内核再发往UI线程,为了提高效率,如果浏览器内核中没有设置preventDefault,Android就认为该页面元素不需要...touchmove事件,于是下次的事件就不经过内核,直接发往UI线程,于是js中就捕获不到touchmove事件。...解决方案:事件响应的地方设置preventDefault,这样就可以源源不绝地接收到touch事件,比如在touchstart事件中执行e.preventDefault(),touchmove事件就会连续触发...下,需要禁止页面中的touchmove事件安卓下,需要给html, body元素加上如下CSS:height:100%;overflow:hidden;。...重叠的区域里,被遮盖的元素绑定click,遮盖的元素绑定touch事件,且touch后遮盖的元素会隐藏的话,就会造成穿透,因为click是touch之后延迟触发的,浏览器会误认为是遮盖的元素触发了

1.8K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券