位置: 编程技术 - 正文

移动端WEB开发,click,touch,tap事件浅析(移动端web开发需要学什么)

编辑:rootadmin

推荐整理分享移动端WEB开发,click,touch,tap事件浅析(移动端web开发需要学什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:移动端web开发工具,移动端web开发,移动端web开发,新建一个界面title设置为自己的姓名,移动端web开发入门,移动端web开发工具,移动端web开发需要学什么,移动端web开发入门,移动端web开发,新建一个界面title设置为自己的姓名,内容如对您有帮助,希望把文章链接给更多的朋友!

一、click 和 tap 比较

两者都会在点击时触发,但是在手机WEB端,click会有 ~ ms,所以请用tap代替click作为点击事件。

singleTap和doubleTap 分别代表单次点击和双次点击。

二、关于tap的点透处理

在使用zepto框架的tap来移动设备浏览器内的点击事件,来规避click事件的延迟响应时,有可能出现点透的情况,即点击会触发非当前层的点击事件。

处理方式:

(1)、

github上有一个叫做fastclick的库,它也能规避移动设备上click事件的延迟响应, ready时初始化在body上,如:

$(function(){ newFastClick(document.body);})

然后给需要“无延迟点击”的元素绑定click事件(注意不再是绑定zepto的tap事件)即可。当然,你也可以不在body上初始化它,而在某个dom上初始化,这样,只有这个dom和它的子元素才能享受“无延迟”的点击

实践开发中发现,当元素绑定fastclick后,click响应速度比tap还要快一点点。哈哈

(2)、为元素绑定touchend事件,并在内部加上e.preventDefault();

$demo.on('touchend',function(e){//改变了事件名称,tap是在body上才被触发,而touchend是原生的事件,在dom本身上就会被捕获触发 $demo.hide() e.preventDefault();//阻止“默认行为”})三、touch事件touch是针对触屏手机上的触摸事件。现今大多数触屏手机webkit内核提供了touch事件的监听,让开发者可以获取用户触摸屏幕时的一些信息。

其中包括:touchstart,touchmove,touchend,touchcancel 这四个事件

移动端WEB开发,click,touch,tap事件浅析(移动端web开发需要学什么)

touchstart,touchmove,touchend事件可以类比于mousedown,mouseover,mouseup的触发。

touchstart : 当手指触摸到屏幕会触发;

touchmove : 当手指在屏幕上移动时,会触发;

touchend : 当手指离开屏幕时,会触发;

当然还有一个touchcancel,是在拖动中断时候触发。

例如:

这4个事件的触发顺序为:

touchstart -> touchmove-> …… -> touchmove ->touchend

但是单凭监听上面的单个事件,不足以满足我们去完成监听在触屏手机常见的一些手势操作,如双击、长按、左右滑动、缩放等手势操作。需要组合监听这些事件去封装对这类手势动作。

其实市面上很多框架都针对手机浏览器封装了这些手势,例如jqmobile、zepto、jqtouch,不过悲剧发生了,对于某些android系统(我自己测试到的在android 4.0.x),touchmove和touchend事件不能被很好的触发,举例子说明下:

比如手指在屏幕由上向下拖动页面时,理论上是会触发 一个 touchstart ,很多次 touchmove,和最终的 touchend ,可是在android 4.0上,touchmove只被触发一次,触发时间和touchstart差不多,而touchend直接没有被触发。这是一个非常严重的bug,在google Issue已有不少人提出 4.0会有这个bug,据说 ios 3.x的版本也会有。

而显然jqmobile、zepto等都没有意识到这个bug对监听实现带来的严重影响,所以在直接使用这些框架的event时,或多或少会出现兼容性问题!

转载自:

ViewStub的实战开发 一.常见的布局分析在开发的时候,有些布局是要根据条件而动态显示,达到一个布局两用的效果,运用View.VISIBLE和View.GONE去改变布局的可见性,这样的

使用maven构建android项目 为什么引入maven构建方式做过java后台开发的人员应该都知道,maven使用解决依赖包管理问题的,同时优化测试,打包,部署等流程的.在android里,maven可以管

Android View 事件分发机制 源码解析 一直想写事件分发机制的文章,不管咋样,也得自己研究下事件分发的源码,写出心得~首先我们先写个简单的例子来测试View的事件转发的流程~1、案例

标签: 移动端web开发需要学什么

本文链接地址:https://www.jiuchutong.com/biancheng/380997.html 转载请保留说明!

上一篇:android(客户端)+Apache MINA(服务器端)通信的实现 智能家居动起来!(android客户端开发是干嘛的)

下一篇:ViewStub的实战开发(viewstock)

  • 进货增值税税率
  • 企业卖车交税怎么算的
  • 外商投资企业要实缴资本么
  • 认证一般纳税人之前取得的专票
  • 非税收入票据可以手写吗
  • 公司有残疾人需要交税吗
  • 自行申报需补缴税款时征收滞纳金吗
  • 个体的个人所得税怎么算
  • 私对公转账收税吗
  • 一般纳税人应交增值税怎么算
  • 股东借款利息收入放什么科目
  • 个人所得税哪里报税
  • 小规模纳税人的企业所得税税率
  • 企业年度财务报表主要包括
  • 企业减免的所得税税率
  • 可控费用包括工资吗
  • 政府补助收入总额等于
  • 印花税少提了怎么办
  • 开票与实际收款不一致有什么风险
  • 一般纳税人企业所得税计算公式
  • 汽修厂纳税多少
  • 以公允价值模式后续计量的投资性房地产无须计提减值
  • 企业可以申请停缴社保吗
  • 连续3个月增值税留抵
  • 一般纳税人企业要交哪些税
  • 政府补助的会计核算
  • 付款凭证和记账凭证一样吗
  • 无法支付的其他账户
  • 跨年冲暂估如何做账?
  • 自来水公司的水压力是多少
  • 补交上一年度的企业所得税费用的分录
  • 如何快速判断
  • 存货发生了减值怎么处理
  • 公司客户招待费用标准
  • 税控系统发票如何验旧
  • vue-html
  • 业务招待费超出部分纳税调增分录
  • 企业管理的管理系统
  • yolov3模型训练
  • 【JavaScript】【5】定时器(包含回调函数与Promise)
  • vue3定义全局变量
  • Vue中@change、@input和@blur的区别以及什么是@keyup
  • 上海地铁9号线一期工程
  • 小规模纳税人去年免税,红冲后今年开多少税率的发票
  • mysql行锁的作用
  • 三方合同如何解除
  • 金融债券的利息不计复利不能提前支取
  • 生产企业免抵退红字冲减
  • mysql开启远程访问权限
  • 车辆购置税 购置
  • 新准则合同结算的科目编码为
  • 福利费税前扣除工资薪金包含哪些
  • 企业资金如何运动
  • 微信提现手续费1000扣多少
  • 应交消费税等于
  • 出资方式现金
  • 结转完工入库产品成本
  • 产成品和半成品需要结转嘛
  • 财税2009年87号文废止
  • 年初建账主要录入的内容
  • 明细账填制要求
  • 联想电脑BIOS启动键
  • freebsd书籍
  • 电脑win 8系统
  • mac如何修改用户名称
  • Win7 64位纯净版无法安装第三方主题的可行破解方法
  • 怎样查看windows10版本
  • libmysqlclient.so.10无法找到
  • linux中使用less命令分屏查看
  • 使用shell命令
  • unity局域网多人游戏
  • 原生js import
  • javascript 语言精粹(修订版)
  • python time模块日期运算
  • 汉诺塔游戏教程
  • android开发app
  • JavaScript html5 canvas画布中删除一个块区域的方法
  • 税务局追缴社保流程及办理期限
  • 担保机构和银行的区别
  • 甘肃省国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设