什么是事件
- 事件是视图层到逻辑层的通讯方式。
- 事件可以将用户的行为反馈到逻辑层进行处理。
- 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
- 事件对象可以携带额外信息,如 id, dataset, touches。
事件的使用方式
- 在组件中绑定一个事件处理函数。
事件分类
事件分为冒泡事件和非冒泡事件:
1、冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
2、非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。表单事件和自定义事件通常是非冒泡事件
注:除上表之外的其他组件自定义事件如无特殊声明都是非冒泡事件,如 form 的submit
事件,input 的input
事件,scroll-view 的scroll
事件,(详见各个组件)
绑定事件
1、bind绑定:事件绑定不会阻止冒泡算法向上冒泡
2、catch绑定:事件绑定可以阻止冒泡算法向上冒泡
事件流的三个阶段
1、捕获:从外向内
2、执行目标阶段
3、冒泡:从内向外