1、移动端:

事件类型

touchstart : 触摸开始(手指放在触摸屏上)

touchmove : 拖动(手指在触摸屏上移动)

touchend : 触摸结束(手指从触摸屏上移开)

直接上栗子,做一个简单的按住说话,移开一定距离提示松开取消:

<input type="button" name="" id="messageBtn" value="按住 说话" />

js:

initEvent() {var btnElem = document.getElementById("messageBtn"); var posStart = 0; //初始化起点坐标var posEnd = 0; //初始化终点坐标var posMove = 0; //初始化滑动坐标btnElem.addEventListener("touchstart", function(event) {console.log(event);event.preventDefault();posStart = 0;posStart = event.touches[0].pageY; //获取起点坐标btnElem.value = "松开 结束";console.log("start");});btnElem.addEventListener("touchmove", function(event) {event.preventDefault();posMove = 0;posMove = event.targetTouches[0].pageY; //获取滑动实时坐标if (posStart - posMove < 200) {btnElem.value = "松开 结束";} else {btnElem.value = "松开手指,取消发送";}});btnElem.addEventListener("touchend", function(event) {event.preventDefault();posEnd = 0;posEnd = event.changedTouches[0].pageY; //获取终点坐标btnElem.value = "按住 说话";console.log("End");if (posStart - posEnd < 200) {console.log("发送成功");} else {console.log("取消发送");console.log("Cancel");}});}

2、在pc端的鼠标事件:

mousedown:按下鼠标后触发

mouseup: 松开鼠标后触发

mousemove:移动鼠标时触发

与上面栗子一样:

<div class="send-text"><input type="button" name="" id="messageBtn" value="按住 说话" />
</div>

js:

initEventRecord() {var that = this;var btnElem = document.getElementById("messageBtn"); //获取IDvar posStart = 0; //初始化起点坐标var posEnd = 0; //初始化终点坐标var posMove = 0; //初始化滑动坐标var boxElem = document.getElementById("send-text");btnElem.onmousedown = function(event) {event = that.enFn(event);btnElem = event.target;posStart = event.pageY;btnElem.value = "松开 结束";boxElem.onmousemove = move;boxElem.onmouseup = stop;console.log("dadad");};const move = function(event) {event = window.event;posMove= event.pageY;console.log(posStart - posEnd);// console.log(event);if (posStart - posMove > 10) {console.log("cac12222222222222222222222222222222222");btnElem.value = "松开鼠标,取消发送";boxElem.onmousemove = btnElem.onmouseup = null;} else {btnElem.value = "松开 结束";}};const stop = function(event) {event = window.event;posEnd = event.pageY;console.log(event);btnElem.value = "按住 说话";if (posStart - posEnd > 30) {console.log("取消发送");console.log("Cancel");} else {console.log("发送成功");}boxElem.onmousemove = boxElem.onmouseup = null;};},

注意onmousemove与onmouseup是父级的元素去移动或者说弹起;间隔数据自己调好判断就行

pc端和移动端鼠标事件,实现与微信按住说话差不多的按键相关推荐

  1. 在vue中使用鼠标事件@mousedown、@mouseenter等失效的解决办法,以及PC端长按实现

    问题解决 @mouseenter.@mousedown等鼠标事件[非鼠标点击事件]时,发现事件不触发,失效了 此时应该在@mouseenter.@mouseenter等鼠标事件加上native属性就好 ...

  2. pc 端与移动端区分点击与拖拽事件

    pc 端与移动端区分点击与拖拽事件 PC 端 移动端 在 html 的应用中,拖拽事件为 mousedown -> mousemove -> mouseup 三个事件组成,在一个有拖拽事件 ...

  3. 【JS教程】移动端 Touch(触摸)事件

    一.pc端事件在移动端的问题 移动设备主要特点是不配备鼠标,键盘也只是在需要输入的地方才会激活虚拟键盘.所以以前的pc端事件在移动端使用起来就没有那么好用,虽然部分仍然可以使用. 1. click事件 ...

  4. iPad 手指触摸与PC鼠标事件

    iPad上没有鼠标,所以手指在触发触摸事件(TouchEvent)的时候,系统也会产生出模拟的鼠标事件(MouseEvent). 这对于普通网页的浏览需求而言,基本可以做到与PC端浏览器无明显差异.但 ...

  5. WEB前端浏览器兼容性问题(PC端及移动端)

    WEB前端浏览器兼容性问题(pc端及移动端) PC端 (一)html部分1.H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]> <script type=&quo ...

  6. PC端和移动端网页特效,fastclick插件,Swiper插件,Bootstrap等框架,本地存储

    目录 PC 端网页特效 元素偏移量 offset 系列 1.offset 系列常用属性 2.offset 与 style 区别 3.计算鼠标在盒子内的坐标 4.模态框拖拽 5.京东商品放大镜 元素可视 ...

  7. 如何在 PC 机上测试移动端的网页?

    如何在 PC 机上测试移动端的网页?如果用 HTML5 写的页面,想兼容 iOS.Android 平台的手机,在 PC 机上看有些效果可能不准确,但不可能在每个移动终端都放上去看下效果吧,一般用什么工 ...

  8. 移动滑块在PC端与移动端的兼容

    你可能需要的小知识(一) 移动滑块在PC端与移动端的兼容 前言 大家好,我是阿k,一个前端新人.从这篇文章开始,这个系列就计划跟大家分享我日常工作中碰到的一些问题以及我的解决方案,也许你正好需要,我也 ...

  9. 搞定移动端一(移动端 touch 事件,TouchEvent 对象)

    移动端事件 1.目标 掌握移动端 touch 事件使用 掌握 touch 事件和 mouse 事件的区别 掌握 touchEvent 实现移动端幻灯片 2.移动端touch事件 touchstart ...

最新文章

  1. R语言包_dplyr_1
  2. js实现文件切片上传,断点续传
  3. 多master mysql_使用 Rotate Master 实现MySQL 多主复制
  4. JAVA中的常量定义在class中还是interface中比较合理?
  5. python 如果你的年龄大于18_python基础
  6. Python中的除法 整除 非整除
  7. 防火墙(10)——禁止含有某些敏感字段发出去、限制连接数量(单ip地址)
  8. C语言程序设计实验最短路径,7最短路径C语言程序设计.pdf
  9. 如何在 C# 8 中使用 Channels
  10. 手机连接电脑wifi
  11. idea自动构建web项目_构建Web应用程序以自动执行系统管理员任务
  12. Fragment的使用
  13. Lync部署学习笔记(一)
  14. ILSpy可以反编译c语言,如何使用ILSpy反编译.NET Framework程序集(读取其源代码)
  15. HTML5制作诗歌锦集,短小优美的自创现代诗歌(精选5首)
  16. android系统9有OTG功能吗,你的Android手机有OTG功能吗?没有我教你!
  17. Keep It Simple and Stupid是什么意思
  18. C. Dima and Staircase(思维)
  19. 4个Python经典项目实战,练手必备哦
  20. 一些生活中常用的英语单词

热门文章

  1. ffmpeg对mpeg2-TS解析的最详细分析 ffmpeg
  2. Qt实现的红色警戒3修改器
  3. Floyd算法 Java实现
  4. 2019年6月网络统考计算机基础试卷,2019年9月网络教育统考《计算机应用基础》模拟题及答案六...
  5. 1.3.8 excel for mysql_MySQL for Excel下载_MySQL for Excel官方下载-太平洋下载中心
  6. vue下载excel模板
  7. 美国打车应用Lyft公布IPO招股书 预计3月底挂牌交易
  8. DoS/DDoS是什么
  9. 推荐8个免费建站、域名或虚拟主机
  10. 开发Windows Mobile今日插件 -- 内存电量,桌面便笺,桌面记单词(转自hoodlum1980 ( 發發 ) 的技术博客)