• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > 微信开发入门(四)触控事件

微信开发入门(四)触控事件

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了微信开发,触控事件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

》》》什么是事件

  • 事件是视图层到逻辑层的通讯方式。

  • 事件可以将用户的行为反馈到逻辑层进行处理。

  • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

  • 事件对象可以携带额外信息,如id, dataset, touches。

》》》事件分类

  • touchstart 手指触摸

  • touchmove 手指触摸后移动

  • touchcancel 手指触摸动作被打断,如弹窗和来电提醒

  • touchend 手指触摸动作结束

  • tap 手指触摸后离开

  • longtap 手指触摸后后,超过350ms离开

》》》事件绑定

事件绑定的写法同组件的属性,以 key、value 的形式。

  • key 以bind或catch开头,然后跟上事件的类型,如bindtap, catchtouchstart

  • value 是一个字符串,需要在对应的 Page 中定义同名的函数。不然当触发事件的时候会报错。 bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

上面简单介绍了小程序事件基础,是时候彰显"事件"的威力:

  • 单击(tap)

  • 双击(dbtap)

  • 长按(longtap)

  • 滑动

  • 多点触控

1.单击

单击事件由touchstart、touchend组成,touchend后触发tap事件。

<view>
  <button type="primary" bindtouchstart="mytouchstart" bindtouchend="mytouchend" bindtap="mytap">点我吧</button>
</view>
mytouchstart: function(e){    console.log(e.timeStamp + '- touch start')
},mytouchend: function(e){    console.log(e.timeStamp + '- touch end')
},mytap: function(e){    console.log(e.timeStamp + '- tap')
}

2.双击

双击事件由两个单击事件组成,两次间隔时间小于300ms认为是双击;微信官方文档没有双击事件,需要开发者自己定义处理。

<view>
  <button type="primary" bindtap="mytap">点我吧</button>
</view>

3.长按

长按事件手指触摸后,超过350ms再离开。

<view>
  <button type="primary" bindtouchstart="mytouchstart" bindlongtap="mylongtap" 
    bindtouchend="mytouchend" bindtap="mytap">点我吧</button>
</view>
mytouchstart: function(e){    console.log(e.timeStamp + '- touch start')
},//长按事件mylongtap: function(e){    console.log(e.timeStamp + '- long tap')
  },mytouchend: function(e){    console.log(e.timeStamp + '- touch end')
},mytap: function(e){    console.log(e.timeStamp + '- tap')
}

单击、双击、长按属于点触事件,会触发touchstart、touchend、tap事件,touchcancel事件只能在真机模拟,不多说了。

事件触发顺序
单击touchstart → touchend → tap
双击touchstart → touchend → tap → touchstart → touchend → tap
长按touchstart → longtap → touchend → tap

4.滑动

手指触摸屏幕并移动,为了简化起见,下面以水平滑动和垂直滑动为例。 滑动事件由touchstart、touchmove、touchend组成

坐标图:

  1. 以屏幕左上角为原点建立直角坐标系。第四象限为手机屏幕,Y轴越往下坐标值越大(注意跟数学象限的区别)。

  2. 假设A点为touchstart事件触摸点,坐标为A(ax,ay),然后手指向上滑动到点B(bx,by),就满足条件by < ay;

  3. 同理,向右滑动到C(cx,cy),满足cx > ax;向下滑动到D(dx,dy),满足dy > ay;向左移动到E(ex,ey)满足ex < ax.

  4. 计算线段AB在Y轴上投影长度为m,在X轴上的投影长度为n

  5. 计算r = m/n,如果r > 1,视为向上滑动。

  6. 同理计算线段AC,AD,AE在Y轴投影长度与X轴的投影长度之比,得出向右向下向左的滑动。

以上没考虑r为1的情况。

<view>
  <button type="primary"  bindtouchstart="mytouchstart" bindtouchmove="mytouchmove">点我吧</button>
</view>

5.多点触控

由于模拟器尚不支持多点触控,内测开放后,继续补充。

【相关推荐】

1. 微信公众号平台源码下载

2. 微信投票源码

3. 微信啦啦外卖2.2.4解密开源版 微信魔方源码

以上就是微信开发入门(四)触控事件的详细内容,更多请关注其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信开发教程:自动回复消息和客服消息,文本带链接跳转
  • php 实现微信开发获取用户信息
  • 微信开发实战之模块化的实例详解
  • 微信开发之列表渲染多层嵌套循环
  • 总结一个微信开发的过程实例
  • 微信开发入门(jssdk开发)
  • 微信开发之介绍CreateTime
  • 微信公众号开发--解析CreateTime
  • 微信开发之微信支付
  • 详解微信开发中视图层(xx.xml)和逻辑层(xx.js)

相关文章

  • C#开发微信门户及应用微信小店商品管理接口的封装和测试
  • 微信公众平台开发系列
  • 关于支付开发的文章推荐10篇
  • C#开发微信门户及应用(6)--微信门户菜单的管理操作
  • C#开发微信门户及应用微信现金红包的封装及使用
  • 微信公众平台开发教程(一) 微信公众账号注册流程
  • 微信公众平台客户端调试工具-WPF开发
  • 推荐JSON、XML相关文章
  • 微信支付开发全网发布
  • 有关微信朋友圈的文章推荐10篇

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信公众平台消息接口开发 启用接口
    • 微信开发系列教程(3)
    • 微信公众号开发:通过accesstoken将长连接转换为短链接
    • 详解微信JS-SDK开发扫一扫接口功能实现代码
    • 微信开发接收视频消息的接口和参数
    • 微信开发入门(九)本地缓存
    • 微信开发实战之顶部导航栏(选项卡)
    • .NET 微信开发自动内容回复实例代码
    • python基于itchat实现微信群消息同步机器人
    • C#微信开发系列-接收 / 返回文本消息

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有