HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享。今天为大家介绍的事件主要是触摸事件:touchstart、touchmove和touchend。

  一开始触摸事件touchstart、touchmove和touchend是iOs版Safari浏览器为了向开发人员传达一些信息新添加的事件。因为iOs设备既没有鼠标也没有键盘,所以在为移动Safari浏览器开发交互性网页的时候,PC端的鼠标和键盘事件是不够用的。

  在iPhone 3Gs发布的时候,其自带的移动Safari浏览器就提供了一些与触摸(touch)操作相关的新事件。随后,Android上的浏览器也实现了相同的事件。触摸事件(touch)会在用户手指放在屏幕上面的时候、在屏幕上滑动的时候或者是从屏幕上移开的时候出发。下面具体说明:

touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。touchmove事件:当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。touchend事件:当手指从屏幕上离开的时候触发。touchcancel事件:当系统停止跟踪触摸的时候触发。关于这个事件的确切出发时间,文档中并没有具体说明,咱们只能去猜测了。

上面的这些事件都会冒泡,也都可以取消。虽然这些触摸事件没有在DOM规范中定义,但是它们却是以兼容DOM的方式实现的。所以,每个触摸事件的event对象都提供了在鼠标实践中常见的属性:bubbles(起泡事件的类型)、cancelable(是否用 preventDefault() 方法可以取消与事件关联的默认动作)、clientX(返回当事件被触发时,鼠标指针的水平坐标)、clientY(返回当事件触发时,鼠标指针的垂直坐标)、screenX(当某个事件被触发时,鼠标指针的水平坐标)和screenY(返回当某个事件被触发时,鼠标指针的垂直坐标)。除了常见的DOM属性,触摸事件还包含下面三个用于跟踪触摸的属性。

touches:表示当前跟踪的触摸操作的touch对象的数组。targetTouches:特定于事件目标的Touch对象的数组。changeTouches:表示自上次触摸以来发生了什么改变的Touch对象的数组。

每个Touch对象包含的属性如下。

clientX:触摸目标在视口中的x坐标。clientY:触摸目标在视口中的y坐标。identifier:标识触摸的唯一ID。pageX:触摸目标在页面中的x坐标。pageY:触摸目标在页面中的y坐标。screenX:触摸目标在屏幕中的x坐标。screenY:触摸目标在屏幕中的y坐标。target:触目的DOM节点目标。

实例如下

function load (){document.addEventListener('touchstart',touch, false);document.addEventListener('touchmove',touch, false);document.addEventListener('touchend',touch, false);function touch (event){var event = event || window.event;var oInp = document.getElementById("inp");switch(event.type){case "touchstart":oInp.innerHTML = "Touch started (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")";break;case "touchend":oInp.innerHTML = "<br>Touch end (" + event.changedTouches[0].clientX + "," + event.changedTouches[0].clientY + ")";break;case "touchmove":event.preventDefault();oInp.innerHTML = "<br>Touch moved (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")";break;}}
}
window.addEventListener('load',load, false);

HTML5触摸事件(touchstart、touchmove和touchend)相关推荐

  1. JavaScript touch 事件 touchstart touchmove touchend

    JavaScript touch 事件 touchstart touchmove touchend MDN 官方文档: https://developer.mozilla.org/en-US/docs ...

  2. html5里可移动线性进度条的类型怎么表示,HTML5触摸事件实现移动端简易进度条的实现方法...

    这篇文章主要介绍了关于HTML5触摸事件实现移动端简易进度条的实现方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 HTML中新添加了许多新的事件,但由于兼容性的问题,许多事件 ...

  3. php 判断html5,html5触摸事件判断滑动方向的实现

    这篇文章主要介绍了html5触摸事件判断滑动方向的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考. 为了给触摸界面提供有力支持, 触摸事件提供了响应用户对触摸屏或者触摸板上操作的能 ...

  4. HTML5触摸事件(多点触控、单点触控)Demo

    HTML5的触摸API支持处理单点和多点的触摸事件处理. 接口 1.TouchEvent:代表了一个触摸事件. 主要属性: TouchEvent.changedTouches:一个TouchList对 ...

  5. HTML5触摸事件(多点、单点触控)

    本文转自:http://www.360us.net/article/9.html HTML5的触摸API支持处理单点和多点的触摸事件处理. 接口 1.TouchEvent:代表了一个触摸事件. 主要属 ...

  6. 手机html5 tap事件,HTML5触摸事件演化tap事件介绍

    触摸事件是移动浏览器特有的HTML5事件,虽然click事件在pc和移动端更通用,但是在移动端会出现300ms延迟,较为影响用户体验,300ms延迟来自判断双击和长按,因为只有默认等待时间结束以确定没 ...

  7. 触摸事件 touchstart、touchmove、touchend

    转载:https://blog.csdn.net/wangmx1993328/article/details/83270166 触摸事件 HTML5 中, PC 端基于鼠标的界面互动主要是单击, 移动 ...

  8. 移动端触摸事件(touchstart,touchend,touchmove)的使用!

    touchstart 开始触摸 touchmove 移动时触 touchmove 结束时触发 触摸事件有三个属性对象, touches对象 :表示当前触摸的手指个数,此对象中还包括集合 clientX ...

  9. 触摸事件(touchstart、touchmove和touchend)

    触摸事件(touch)会在用户手指放在屏幕上面的时候.在屏幕上滑动的时候或者是从屏幕上移开的时候出发.下面具体说明: touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会 ...

最新文章

  1. Python学习之函数及流程控制
  2. Django使用Mysql时数据库配置
  3. 使用自动机的Lucene新的邻近查询
  4. 实例演示oracle注入获取cmdshell的全过程
  5. 在Web.Config中如何引入相对目录下的Access文件
  6. linux网络子系统研究:数据收发简略流程图
  7. Ubuntu Install Java
  8. ESX4.1 “USB设备支持”实测
  9. aspx页面中文汉字显示为乱码
  10. Linux复习-目录及其操作
  11. 十五、方差分析--使用Python进行单因素方差分析(ANOVA)
  12. 生活中哪些地方运用计算机网络,计算机网络技术在生活中应用.doc
  13. 计算机网络与互联网的区别,计算机网络与互联网的主要区别是什么?
  14. IE和标准下有哪些兼容性的写法
  15. audio muted属性绑定无效 vue
  16. c语言实现按键精灵区域找图,区域遍历所有图片(找图,多点找色)----1个函数实现...
  17. MySQL默认字符集设置
  18. 超融合服务器连接虚拟机,H3C UIS 6.5超融合产品新增虚拟机配置指导-5W100
  19. SpringCloud的@Value注解及GitLab配置使用
  20. 大数据基础环境搭建的从spark到hadoop,从底层硬件到上层软件的一些必备注意事项

热门文章

  1. 微信公众号分享问题总结
  2. [海豹海边爆]文远知行杯第16届E题
  3. Unity小实用七-简单的MessageBox
  4. android webview mailto,如何处理mailto:在android webview中
  5. 最强合集!视频号36种裂变玩法,实现爆发式增长!
  6. JS中在<%%>如何输出换行
  7. 美国国家搜索与救援联合会推荐的最低装备表
  8. 查询河南省某地区同名同姓人数java代码demo示例
  9. 高分辨率EEG的空间分析
  10. python中shift函数_pandas DataFrame.shift()函数