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

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

2.touch 事件是针对触屏手机上的触摸事件。现今大多数触屏手机 webkit 内核提供了 touch 事件的监听,让开发者可以获取用户触摸屏幕时的一些信息。...mouseover mouseup 的触发 3.tap 事件在移动端,代替 click 作为点击事件,tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生的,所以是封装的...(btn, function() { alert('taped'); }); 拓展: 点透问题 如果我们在移动端所有的 click 都替换为了 tap 事件,还是会触发点透问题的...,因为实质是: 在同一个 z 轴上,z-index 不同的两个元素,上面的元素是一个绑定了 tap 事件的,下面是一个 a 标签,一旦 tap 触发,这个元素就会 display: none,而从上面的...tap 可以看出,有 touchstart、touchend,所以会 300ms 之后触发 click 事件,而 z-index 已经消失了,所以,触发了下面的 a 的 click 事件,注意: 我们认为

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

    向zepto.js学习如何手动(trigger)触发DOM事件

    原文地址 仓库地址 event.js模块 zepto中由许多小的模块组合合成,基础的zepto.js模块,event.js事件处理模块,ajax.js请求处理模块等等。...为了直接切入不易理解,我们先来看看zepto中是如何给基础的zepto.js模块添加功能的 首先看看zepto.js模块 var Zepto = (function () { // xxxx var...而$.fn就是其原型 如何给zepto.js模块增添功能 zepto.js模块只有一些基础的功能,比如给dom添加事件的功能就没有,怎么添加呢?...,可以看到所谓的给zepto.js模块增添功能,基本上就是在其原型上添加新的方法或者直接在$函数上定一些静态方法。...因为我们知道$()函数的使用方式有很多,有些方式得到的zepto对象是没有选中dom节点的) 最后还有一个else分支,这个分支处理走的不是手动触发事件,而是直接触发注册事件时添加的事件处理程序(因为这里涉及到

    3.1K20

    向zepto.js学习如何手动(trigger)触发DOM事件

    event.js模块 zepto中由许多小的模块组合合成,基础的zepto.js模块,event.js事件处理模块,ajax.js请求处理模块等等。...为了直接切入不易理解,我们先来看看zepto中是如何给基础的zepto.js模块添加功能的 首先看看zepto.js模块 var Zepto = (function () { // xxxx var...而$.fn就是其原型 如何给zepto.js模块增添功能 zepto.js模块只有一些基础的功能,比如给dom添加事件的功能就没有,怎么添加呢?...,可以看到所谓的给zepto.js模块增添功能,基本上就是在其原型上添加新的方法或者直接在$函数上定一些静态方法。...因为我们知道$()函数的使用方式有很多,有些方式得到的zepto对象是没有选中dom节点的) 最后还有一个else分支,这个分支处理走的不是手动触发事件,而是直接触发注册事件时添加的事件处理程序(因为这里涉及到

    4.3K50

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

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

    2.5K20

    11-移动端开发教程-zepto.js入门教程

    Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 1. Why Zepto.js?...Zepto增加了针对移动端的触摸和手势相关的事件 Zepto模块化做的很灵活,可以自定义组合模块 2....Zepto.js下载 代码下载:zeptojs中文站 、 github 2.1 自定义Zepto.js文件模块 zepto默认是有五个模块的,分别为zepto、event、ajax、form、ie,这五个模块被称为核心模块...touch 在触摸设备上触发tap– 和 swipe– 相关事件。这适用于所有的touch(iOS, Android)和pointer事件(Windows Phone)。...总结 zepto.js确实非常小巧,而且非常讨巧的利用了大家熟悉jQuery的优势,确实非常可爱的一个js库,设计的模块中庸而又实用,在移动端的触屏事件封装的很不错,移动端web开发值得推荐。

    2.3K50

    移动端项目经验 JavaScript

    在这里简要整理一些JavaScript在移动端的项目经验,主要包括click点击事件延迟、元素高亮点击区、zepto的touch问题等。...对于这种体验不佳的问题,我们可以使用tap等事件来替代,而tap事件属于模拟类事件,需要引入zepto.js或者百度的touch.js等插件辅助实现。...也可以通过使用fastclick.js来解决click的延迟(这个不是使用tap事件去替代)。...解决办法很简单:-webkit-tap-highlight-color:rgba(255,255,255,0) 可以同时屏蔽 iOS和安卓点击元素时出现的阴影。...-webkit表示的是浏览器内核前缀,表示能够应用于所有webkit内核的浏览器(苹果、谷歌等各种主流浏览器以及安卓系统自带的浏览器采用的均是此种内核,但是注意,IE不是),tap表示轻敲、轻触,highlight-color

    1.4K80

    homebrew 的 tap 功能详解

    前言 ---- homebrew 是使用 ruby 开发的 mac 的软件包管理器 homebrew 默认就自带了几个 homebrew 的核心仓库,仓库存放了一些最常用的一些软件,当我们使用 brew...search 搜索软件时则从这些仓库中查找,但是这些仓库并不足以完全满足我们的日常需要,比如我想要安装 PHP5.6,但是默认的核心仓库中只有比较新的版本 PHP7.4。...此时我们可以安装第三方的仓库,在第三方仓库中安装我们需要的软件,比如: PHP5.6 2. brew tap 命令 ---- tap: third party repositories 第三方存储库...没有参数时会列出已有的仓库 brew tap 添加仓库 # 命令格式 移除仓库(需要先将使用该仓库安装的软件卸载掉) # 命令格式

    1.5K20

    从零开始学 Web 之 移动Web(三)Zepto

    二、手势事件封装 Zepto 将移动端的 touchStart,touchmove 和 touchEnd 封装成了一系列事件。 tap :触摸屏幕时触发。...默认的 Zepto.js 文件只包含下面一些功能: zepto ✔ 核心模块;包含许多方法 event ✔ 通过on()& off()处理事件 ajax ✔ XMLHttpRequest 和 JSONP...touch.js 在触摸设备上触发tap– 和 swipe– 相关事件。这适用于所有的touch(iOS, Android)和pointer事件(Windows Phone)。...答案是肯定的。 四、Zepto 的定制 Zepto 允许将多个 js 文件打包成一个 js 文件。 操作步骤: 1、安装 Nodejs 环境 2、下载 zepto.js 源码并解压好。...4、cmd 命令行进入解压缩后的目录 5、执行npm install 命令(这一步需要联网下载) 6、编辑 zepto.js 源码中的 make文件,添加自定义模块并保存,如下 原来的:modules

    1.5K20

    homebrew 的 tap 功能详解

    前言 ---- homebrew 是使用 ruby 开发的 mac 的软件包管理器 homebrew 默认就自带了几个 homebrew 的核心仓库,仓库存放了一些最常用的一些软件,当我们使用 brew...search 搜索软件时则从这些仓库中查找,但是这些仓库并不足以完全满足我们的日常需要,比如我想要安装 PHP5.6,但是默认的核心仓库中只有比较新的版本 PHP7.4。...此时我们可以安装第三方的仓库,在第三方仓库中安装我们需要的软件,比如: PHP5.6 2. brew tap 命令 ---- tap: third party repositories 第三方存储库...没有参数时会列出已有的仓库 brew tap 添加仓库 # 命令格式 brew tap brew tap shivammathur/php 移除仓库(需要先将使用该仓库安装的软件卸载掉

    2.8K20

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

    求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑...tap 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.7K30

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

    参数描述: 1. config为一个对象 { tap: true, //tap类事件开关, 默认为true doubleTap: true,...pinch: true, //pinch类事件开关 } 百度touch.js可以说是Web移动端touch点击事件不错的解决方案,搭配zepto.js或者jQuery...(‘#btn-ok’,’tap’,function(ev){ //这里是你想要执行的操作,随便写 }) 上面是一个简单的tap操作,touch.js还支持滑动、缩放等等手势操作,详细的手势事件如下:...swipedown 向下滑动 ~ swipe 滑动 拖动开始 dragstart 拖动屏幕 拖动 drag 拖动手势 拖动结束 dragend 拖动屏幕 拖动 drag 拖动手势 长按 hold 长按屏幕 敲击 tap...参数描述 config为一个对象 { tap: true, //tap类事件开关, 默认为true doubleTap: true,

    4.1K40

    16:几个常见的TAP异步操作

    以下文章来源于精致码农 ,作者liamwang 在本系列上一篇文章 [15:异步编程基础] 中,我们讲到,现代应用程序广泛使用的是基于任务的异步编程模式(TAP),历史的 EAP 和 AMP 模式已经过时不推荐使用...虽然实际 TAP 编程中很少使用到任务的状态,但它是很多 TAP 操作机理的基础,所以下面先从任务状态讲起。...所以如果一个 TAP 方法内部使用 Task 构造函数来实例化要返回的 Task,那么 TAP 方法必须在返回 Task 对象之前对其调用 Start。...在 TAP 中,进度是通过 IProgress 接口来处理的,该接口作为一个参数传递给异步方法。...C# 的 TAP 很强大,提供的 API 也很多,远不止本文讲的这些,都是围绕 Task 转的。关键是要理解好基础操作,才能灵活使用更高级的功能。希望本文对你有所帮助。

    80610

    TAP 中的云原生构建服务

    题图摄于美国大峡谷 本篇转发TAP系列文章之五,TAP云原生构建服务。 1   背景   通常的应用开发过程,是由开发人员使用某种计算机语言,比如 Java,开发特定项目然后提交到代码仓库。...第一步的编译取决于应用项目所采用的语言和框架,第二步常规的方法则是以撰写 Dockerfile 以及使用 docker build 来完成的。...由于容器镜像采用的是 Overlay 型的文件系统,Dockerfile 中的每一个步骤将在最终镜像中产生一个层级(layer),所以 Dockerfile 撰写的好坏决定着应用镜像的运行效率。...通常的集成方式如下图: TBS 包含在 Tanzu Application Platform(简称 TAP )的发行版内,而且已经作为预制件集成进了 TAP 的软件供应链 Choreograph 里面...如下图所示,Tanzu 构建服务是 TAP  软件供应链的第一步,而和后续的安全扫描,部署,运行等等连接在一起组成完整的应用安全运维过程: 1 Tanzu 构建服务之价值总结 对于试图在商业环境中构建和部署容器的开发人员和运维人员来说

    66350

    Tanzu Application Platform (TAP)的应用模型

    题图摄于北京 本篇转发TAP系列文章之六,Tanzu Application Platform (TAP) 的应用模型。...当然,开发者还可以做更多配置比如访问路由的域名、健康检查的方式、启动命令等··· ✦ TAP 的应用模型 ✦ TAP 作为新一代 PaaS 平台,主要基于 Kubernetes 技术体系,以 Knative...一个典型的 TAP 应用的部署文件 workload.yaml 是这样的: 可以看出,TAP 的开发体验更接近于 Cloud Foundry,都需要指定指定应用的名字、资源的需求(CPU / Memory...TAP 上。...以上初步介绍了 TAP 的应用模型,我们会在后续的系列文章中进一步介绍 TAP 的其它组件,敬请关注与期待!如果您有任何反馈,也请联系我们!

    62410

    2017移动前端的一些总结web前端 —— 移动端知识的一些总结一.css部分二.js部分

    zepto.js这些工具库,就可以使用一些新一点的 api,比如选取元素用 querySelector(".class #id")和 querySelectorAll(".class element"...和 zepto.js里的 tap事件。...不过 zepto的 tap事件有一个事件穿透的问题。...假如你 tap一个弹出层元素(这个元素遮罩了一个 a标签),这个元素立即消失,这样由于上述的 0.3s延迟 tap事件就会传递给 a标签成 click事件造成a标签跳转。...以上面的例子来说,解决方案视情况而定:  ① tap时让遮罩渐隐消失,这个过程超过 400ms就不会穿透到下一层去了  ② 在 touchend事件回调中加入 preventDefault, 并在下一层中加上

    3.7K40

    JavaScript Mobile开发框架汇总

    目前Javascript移动开发框架有些共同的特点:专门为移动设备做了优化,提供标准的UI组件;提供跨平台的支持(Android、IOS、etc);轻量级,由于手机网络访问的特点,所有的框架都要注意轻量...这个框架提供了增强de触摸事件,如tap、swipe、pinch、rotate等,另外也提供了强大的数据包支持,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储。...还有很多框架例如:Jo、xui.js、EmbededJS、zepto.js、DHTMLX Touch、Mobilize.js、ChocolateChip Mobile。...它们都有各自的特点,其中Mobilize.js提供了将你的网站迁移到移动设备的功能,而且也提供了Wordpress的插件,有兴趣的可以试一试。...的组件也是必不可少的。

    1.2K30
    领券