当一个事件被触发后,它会沿着事件响应链进行传播。如果节点上设置了相应类型的事件处理器属性,则节点可以在事件传播过程中监听到对应事件甚至进行拦截。
除此之外,Lynx 还提供了跨元件事件监听、事件切面接口、GlobalEventEmitter 来实现特殊的事件传播。
通过设置事件处理器属性,开发者可以决定在事件传播的哪个阶段(或跨元件)监听或拦截该事件,并指定事件触发时调用的处理函数。这些事件处理器属性的命名通常由绑定的事件类型和事件名称组成。
| 事件类型 | 说明 |
|---|---|
bind | 冒泡阶段监听事件,不拦截事件冒泡。 |
catch | 冒泡阶段监听事件,拦截事件冒泡。 |
capture-bind | 捕获阶段监听事件,不拦截事件捕获和冒泡。 |
capture-catch | 捕获阶段监听事件,拦截事件捕获和冒泡。 |
global-bind | 跨元件监听事件。 |
特别地,当事件处理函数是主线程脚本时,需要在事件处理器属性名称前添加 main-thread: 前缀,以确保该处理函数在主线程中执行。