小程序学习---事件(二)

本文详细介绍了事件对象的各种属性,包括基础事件对象(BaseEvent)、自定义事件对象(CustomEvent)及触摸事件对象(TouchEvent)。同时,对事件类型的含义进行了深入解析,如事件类型(type)、时间戳(timeStamp)等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、事件对象

如无特殊说明,当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。

1、BaseEvent 基础事件对象属性列表:

属性

类型

说明

type

String

事件类型

timeStamp

Integer

事件生成时的时间戳

target

Object

触发事件的组件的一些属性值集合

currentTarget

Object

当前组件的一些属性值集合

 

2、CustomEvent 自定义事件对象属性列表(继承 BaseEvent):

属性

类型

说明

detail

Object

额外的信息

 

3、TouchEvent 触摸事件对象属性列表(继承 BaseEvent):

属性

类型

说明

touches

Array

触摸事件,当前停留在屏幕中的触摸点信息的数组

changedTouches

Array

触摸事件,当前变化的触摸点信息的数组

特殊事件: 中的触摸事件不可冒泡,所以没有 currentTarget。



二、事件类型详解

1、type

代表事件的类型。

2、timeStamp

页面打开到触发事件所经过的毫秒数。

3、target

触发事件的源组件。

属性

类型

说明

id

String

事件源组件的id

tagName

String

当前组件的类型

dataset

Object

事件源组件上由data-开头的自定义属性组成的集合

4、currentTarget

事件绑定的当前组件。

属性

类型

说明

id

String

事件源组件的id

tagName

String

当前组件的类型

dataset

Object

事件源组件上由data-开头的自定义属性组成的集合

说明: target 和 currentTarget 可以参考上例中,点击 inner view 时,handleTap3 收到的事件对象 target 和 currentTarget 都是 inner,而 handleTap2 收到的事件对象 target 就是 inner,currentTarget 就是 middle。

5、dataset

在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.currentTarget.dataset 中会将连字符转成驼峰elementType。


点击(此处)折叠或打开

  1. view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test /view>

  2. Page({
  3.   bindViewTap:function(event){
  4.     event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法
  5.     event.currentTarget.dataset.alphabeta === 2 // 大写会转为小写
  6.   }
  7. })


6、touches

touches 是一个数组,每个元素为一个 Touch 对象(canvas 触摸事件中携带的 touches 是 CanvasTouch 数组)。 表示当前停留在屏幕上的触摸点。

7、Touch 对象

属性

类型

说明

identifier

Number

触摸点的标识符

pageX, pageY

Number

距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y

clientX, clientY

Number

距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y

8、CanvasTouch 对象

属性

类型

说明

identifier

Number

触摸点的标识符

x, y

Number

距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴,纵向为Y

9、changedTouches

changedTouches 数据格式同 touches。 表示有变化的触摸点,如从无变有(touchstart),位置变化(touchmove),从有变无(touchend、touchcancel)。

10、detail

自定义事件所携带的数据,如表单组件的提交事件会携带用户的输入,媒体的错误事件会携带错误信息,详见组件定义中各个事件的定义。

点击事件的detail 带有的 x, y 同 pageX, pageY 代表距离文档左上角的距离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值