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

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

手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动端的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一、事件定义及分类 1. click事件 单击事件,类似于PC端的...类事件 滑动事件,有swipe swipeLeft swipeRight swipeUp swipeDown 五种之分 swipe:手指在屏幕上滑动时会触发 swipeLeft:手指在屏幕上向左滑动时会触发...swipeRight:手指在屏幕上向右滑动时会触发 swipeUp:手指在屏幕上向上滑动时会触发 swipeDown:手指在屏幕上向下滑动时会触发 二、事件的触发 页面结构: 1 的时候无意间触发了浏览器自身的复制文本功能,此时触发了touchcancel事件 ?...三、自定义手势事件gesture 手势事件只是概念型,目前还没有浏览器原生支持,按照概念可分为gesturestart gesturechange gestureend 三种事件 gesturestart

2.5K20

touch.js的使用总结

Touch 手机端的操作 基本事件: touchstart  //手指刚接触屏幕时触发 touchmove    //手指在屏幕上移动时触发 touchend     //手指从屏幕上移开时触发 touchcancel...选择器 types  string 事件的类型(多为手势事件),可接受多个事件以空格分开;支持原生事件的透传 callback    function  事件处理函数, 移除函数与绑定函数必须为同一引用...向右旋转 rotate旋转 3、滑动 swipestart滑动手势起点 swiping滑动中 swipeend滑动手势终点 swipeleft向左滑动 swiperight向右滑动 swipeup向上滑动...distanceX, x           手势事件x方向的位移值, 向左移动时为负数 distanceY, y          手势事件y方向的位移值, 向上移动时为负数 angle            ...startRotate启动单指旋转方法,在某个元素的touchstart触发时调用

1.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发:UICollectionViewCell删除的实现方法

    前言 在iOS开发过程中,UICollectionView的使用仅次于UITableView的使用,而且UICollectionView的使用也很重要,需要很好的运用掌握相关知识点。...本篇博文就来讲解一下UICollectionView使用中,删除UICollectionViewCell的步骤方法,仅供参考。...使用场景:在UICollectionView的cell中,点击长按手势删除列表中的其中一个UICollectionViewCell的方法。具体实现步骤如下所示。...UICollectionViewCell添加长按手势,添加长按手势的时候需要添加代理方法 UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer..."); } } 通过以上的步骤,大概演绎了一个简单的删除UICollectionViewCell的方法,如有疑问随时交流。

    2.3K41

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

    Touch.js 是移动设备上的手势识别与事件库, 由百度云Clouda团队维护,也是在百度内部广泛使用的开发工具。 Touch.js手势库专为移动设备设计。.../手指在屏幕上移动时触发 touchend//手指从屏幕上移开时触发 4、事件配置 touch.config(config) 功能描述: 对手势事件库进行全局配置。...参数描述 参数 类型 描述 element element或string 元素对象、选择器 types string 事件的类型,具体参数说明,同“事件代理”方法中的“types”参数说明。...触发事件 touch.trigger(element, type); 功能描述 触发某个元素上的某事件。...参数描述 参数 类型 描述 element element或string 元素对象或选择器 type string 事件的类型,具体参数说明,同“事件代理”方法中的“types”参数说明。

    4.1K40

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

    在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。 1....最基本的touch事件包括4个事件: touchstart: 当在屏幕上按下手指时触发 touchmove: 当在屏幕上移动手指时触发 touchend: 当在屏幕上抬起手指时触发 touchcancel...触摸手势封装相关的框架及事件 手势相关的事件一般就是tap类(触屏)和滑动(swipe)事件两类。...swipe:手指在屏幕上滑动时会触发 swipeLeft:手指在屏幕上向左滑动时会触发 swipeRight:手指在屏幕上向右滑动时会触发 swipeUp:手指在屏幕上向上滑动时会触发 swipeDown...:手指在屏幕上向下滑动时会触发 5.3 zepto的手势相关事件 Zepto.js 是一个轻量级的针对现代高级浏览器的JavaScript库, 它适配了jQuery的大部分api,也就是jQuery怎么用

    6.8K80

    ios-ScrollView添加到view上,view的touchesBegan无法执行

    这几天做的时候碰到了这么个问题,就是当我们把ScrollView添加到控制器的view上,或者添加到UICollectionViewCell上面,scrollView的父视图的touchesBegan都无法响应...有可能是因为ScrollView是可以支持捏合手势,所以系统可能就屏蔽了TouchBegan方法了,因为ScrollView的缩合手势可能会需要在这些函数里面进行计算。...还有就是当我们自定义了UIScrollView,往里面添加单击手势的时候,只会响应单击手势的点击,而不会响应touchesBegan方法。...根据一些资料,其实原因应该是这样的就是手势识别是对touch的一个封装,UIScrollView支持捏合手势,然后一般来说,如果做过手势监听的控件就都会屏蔽掉touch事件。...因为就好比你手势识别其实可能就是通过touchBegan,touchMove来进行计算,所以会屏蔽,不然的话就有可能会去影响手势的计算。

    1K30

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

    在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。 1....最基本的touch事件包括4个事件: touchstart: 当在屏幕上按下手指时触发 touchmove: 当在屏幕上移动手指时触发 touchend: 当在屏幕上抬起手指时触发...触摸手势封装相关的框架及事件 手势相关的事件一般就是tap类(触屏)和滑动(swipe)事件两类。...swipe:手指在屏幕上滑动时会触发 swipeLeft:手指在屏幕上向左滑动时会触发 swipeRight:手指在屏幕上向右滑动时会触发 swipeUp:手指在屏幕上向上滑动时会触发 swipeDown...5.3 zepto的手势相关事件 Zepto.js 是一个轻量级的针对现代高级浏览器的JavaScript库, 它适配了jQuery的大部分api,也就是jQuery怎么用,Zepto.js就怎么用。

    6.4K70

    读Zepto源码之Touch模块

    在触发 longTap 事件前,先将保存定时器的变量 longTapTimeout 释放,如果 touch 对象中存在 last ,则触发 longTap 事件, last 保存的是最后触摸的时间。...如果有触发 longTap 的定时器,清除定时器即可阻止 longTap 事件的触发。 最后同样需要将 longTapTimeout 变量置为 null ,等待垃圾回收。...在低版本的移动端 IE 浏览器中,只实现了 PointerEvent ,并没有实现 TouchEvent ,所以需要这个来判断。...从上面可以看到, Zepto 所触发的事件,是从 touch 、 pointer 或者 IE 的 guesture 事件中,根据不同情况计算出来的。这些事件都绑定在 document 上。...IE Gesture 事件的处理 IE 的手势使用,需要经历三步: 创建手势对象 指定目标元素 指定手势识别时需要处理的指针 if ('MSGesture' in window) { gesture

    93100

    【技巧】ionic3的手势Gestures

    临睡前写点东西,时间有限,又是一篇简单的文章,是关于手势的,因为白天有人问到。 手势Gestures,ionic官网上的文档描述非常简单,就下面一段就没了,估计很多人看完直接就懵了:只有6个事件吗?...手势.png 我粗略搜索了ionic关于手势事件的文章,像pressup等内容的,居然没有,orz……ionic常常使用流行的库来补充自身,像slide组件就是封装了swiper,而手势是使用了另一个有名的库...所以我们通过了解HammerJS就可以知道ionic3的手势事件——其实是6种,我简单列一下分类及其下事件: 一、pan——平移 ? pan.png 最小平移距离为10px,才会识别为pan....swipe.png 要求移动速度0.3px/ms,移动距离超过10px,才会识别为swipe swipe swipeleft swiperight swipeup swipedown 六、tap—...tap.png 多次tap间隔为300ms,用以区分是不是双击或其它,最大按下时间为250ms,用以区分press或其它 tap 上述事件在ionic中普通使用即可,具体事件参数通过$event获取

    74230

    iOS 无侵入埋点组件总结

    埋点方案 代码埋点 由开发人员在触发事件的具体方法里,添加多行代码把需要上传的参数上报至服务端。 可视化埋点 根据标识来识别每一个事件, 针对指定的事件进行取参埋点。...方案选择 通常业务都需要加埋点统计事件,但在每个业务类里埋点会导致每个页面内耦合了大量的无关业务的埋点代码使得代码不够整洁,所以放弃了代码埋点。...例如所有的按钮被点击时,都会触发 UIApplication 的 sendAction 方法,我们 hook 这个方法,即可拦截所有按钮的点击事件。...这样确实能够唯一的表示此 view 了,但是有一个缺点:它的可读性很差。因此在此基础上又增加了每个节点的名称,节点的名称由当前节点的 view 的类名来表示。同时在开头都添加了一个页面名称作为标识。...在这里,我们是通过类名 NSStringFromClass([self class]) 来区分不同的控制器的。 2.

    3K31

    打造开源第一 iOS 图片浏览器 (支持视频)闲谈

    十三、手势交互动效的技术细节 图片浏览器的手势交互并非看起来的那么简单,图片的放大状态、UIScrollView 的回弹和减速机制、嵌套 UIScrollView 的手势冲突,这些都可能会导致一些难以控制的情况出现...手势交互效果的实现载体 “微博”的图片浏览器在手势交互的时候应该是借助了其它的视图,因为每次对 GIF 的拖动都会回到第一帧,这样体验并不是非常好;而“今日头条”的图片浏览器在手势交互的时候 GIF 会暂停...手势交互移动缩放的算法实现 实际上在上个版本的代码中,YBImageBrowser 使用了一个稍显复杂的算法来实现图片移动的同时缩放,后来笔者实践了一种更为简洁的方法,优雅了许多: CGRect startFrame...手势交互触发点的优化 手势交互动效一旦触发,就要让两个 UIScrollView 禁止滑动,所以这个触发点不能过于灵敏,不然用户切换图片的时候会一不小心触发。...这样也同时解决了超清大图展示的时候,在边缘拖动频繁触发手势交互动效的问题。

    1.6K40

    Appium连续滑动操作——九宫格滑动

    应用背景 滑动操作一般是两点之间的滑动,而实际使用过程中用户可能要进行一些多点连续滑动操作。如九宫格滑动操作,连续拖动图片移动等场景。那么在Appium中该如何模拟这类操作呢?...暂停 方法:Wait() wait(self, ms=0) 暂停脚本的执行,单位为毫秒。 释放 方法release() 结束的行动取消屏幕上的指针。...release(self) 执行 perform() 执行的操作发送到服务器的命令操作。...测试场景 安装启动随手记App 启动App后在密码设置选项中开启手机密码并滑动九宫格设置如下图形密码: ?...测试环境 夜神模拟器 Android 5.1.1 随手记Android版 V10.5.6.0 Win 10 64bit Appium 1.7.2 代码实现 touch_action.py from appium

    1.3K30

    UIGestureRecognizer  手势识别一、概念介绍二、UIView 的分类三、UIGestureRecognizer 抽象类四、UIGestureRecognizerDelegate 代理

    (但可能已经触发了触摸事件),默认状态 UIGestureRecognizerStateBegan 手势已经开始,此时已经被识别,但是这个过程中可能发生变化,手势操作尚未完成 UIGestureRecognizerStateChanged...给触摸到的控件以取消控件view对touch的响应,这个时候只有手势识别器响应touch,当设置成NO时,手势识别器识别到触摸之后不会发送touchesCancelled给控件,这个时候手势识别器和控件...默认是NO,这种情况下当发生一个触摸时,手势识别器先捕捉到到触摸,然后发给触摸到的控件,两者各自做出响应。...如果设置为YES,手势识别器在识别的过程中(注意是识别过程),不会将触摸发给触摸到的控件,即控件不会有任何触摸事件。...:(UIPress *)press; 4、 是否支持多手势触发,返回YES,则可以多个手势一起触发方法,返回NO则为互斥 是否允许多个手势识别器共同识别,一个控件的手势识别后是否阻断手势识别继续向下传播

    3.1K81

    推荐7个最强Appium替代工具,移动App自动化测试必备!

    它的主要优势包括: 真实设备测试:Kobiton不需要使用模拟器,完全可以在真实设备上运行测试,这确保了测试结果的准确性和可靠性。 跨平台支持:支持iOS和Android设备,以及移动浏览器。...它采用图像识别技术定位元素,使测试用例编写更加简单。 主要特点有: 支持图像识别、OCR识别等定位元素方式; 丰富的API,满足各种测试场景; 易于上手,降低测试人员的学习成本。...能够深入到 iOS 应用的内部机制,对各种原生 UI 组件进行精确的操作和验证。 性能优化:在 iOS 设备上运行时,XCUITest 经过了高度的性能优化。...可扩展性:支持使用第三方库和工具进行扩展,测试人员可以根据项目的特殊需求,引入额外的功能模块。例如,结合一些图像识别库,可以实现对应用中复杂图形界面元素的识别和操作。...适用场景:专门针对 iOS 应用的自动化测试,无论是在开发 iOS 应用的功能测试、UI 测试,还是在持续集成环境中对 iOS 应用进行自动化验证,XCUITest 都是首选工具。

    18210

    第135天:移动端开发经验总结

    不管当前有多少只手指 touchmove:当手指在屏幕上滑动时连续触发。...通常我们再滑屏页面, 会调用event的preventDefault()可以阻止默认情况的发生:阻止页面滚动 touchend:当手指离开屏幕时触发 touchcancel:系统停止跟踪触摸时候会触发。...例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用 触摸事件的响应顺序 1、ontouchstart 2、ontouchmove 3、ontouchend 4、onclick...四、常见的移动端问题 1、什么是Retina 显示屏,带来了什么问题   retina:一种具备超高像素密度的液晶屏,同样大小的屏幕上显示的像素点由1个变为多个,如在同样带下的屏幕上,苹果设备的retina...、 禁止文本缩放 当移动设备横竖屏切换时,文本的大小会重新计算(或者在内嵌浏览器中设置字体的大小),进行相应的缩放,当我们不需要这种情况时,可以选择禁止: html {   -webkit-text-size-adjust

    1.6K30

    iOS-手势UIGestureRecognier详解一. 手势UIGestureRecognier简介二. 手势的抽象类——UIGestureRecognizer三. UIGestureRecogni

    UIGestureRecognizer是一个抽象类,对iOS中的事件传递机制面向应用进行封装,将手势消息的传递抽象为了对象。其中定义了所有手势的基本行为,使用它的子类才能处理具体的手势。 二....YES,如果识别到了手势,系统将会发送touchesCancelled:withEvent:消息在其时间传递链上,终止触摸事件的传递,也就是说默认当识别到手势时,touch事件传递的方法将被终止而不执行...,如果设置为NO,touch事件传递的方法仍然会被执行,上例中我们使用了拖拽手势和touchesMoved两个触发方式,当我们把cancelTouchesInView设置为NO时,在屏幕上滑动,两种方式都在触发...这就涉及到第二个属性delaysTouchesBegan,这是因为手势识别是有一个过程的,拖拽手势需要一个很小的手指移动的过程才能被识别为拖拽手势,而在一个手势触发之前,是会一并发消息给事件传递链的,所以才会有最开始的几个...3.2 重点方法详解-手势间的互斥处理 同一个View上是可以添加多个手势对象的,默认这些手势是互斥的,一个手势触发了就会默认屏蔽其他相似的手势动作。

    2.6K50
    领券