在小程序中, 事件分为两种类型:
- 冒泡事件, 当一个组件上的事件被触发后,该事件会向父节点传递
- 非冒泡事件, 当一个组件上的事件被触发后, 该事件不会向父节点传递。
一 冒泡事件
tap, touchstart、 touchend 事件等都属于冒泡事件,小程序提供的全 部冒泡事件如下表所示:
看一个例子:
示例运行效果:
小程序冒泡事件
二 事件绑定类型
上述例子,点击事件 用到了bindtap, 实际上事件绑定分别有 bind 与 catch 两种,
两者的区别:
- bind事件不会阻止冒泡事件向上冒泡
- catch事件绑定可以阻止冒泡事件向上冒泡。
以下看一个例子理解catch阻止冒泡。
修改上述 wxml 页面中 view2的bindtap事件为catchtap,
保存后,点击view2, 日志只会输出 view2222222222222click,
点击 view3, 日志只会输出 view3333333333333click,
这就说明冒泡事件被阻止了。