事件管理全解析:从基础到实战应用
1. 事件触发与阶段
在事件处理中,当组件的子元素触发事件时,我们可能需要执行相同的操作。例如,在一个包含多个组件的表单中,当某个组件的值发生变化时,我们可能需要验证该组件,并同时对整个表单数据进行某些操作。
事件对象的 eventPhase 属性存储一个数字,也可以用常量表示,它反映了当前的事件阶段,具体如下表所示:
| 值 | 常量 |
| — | — |
| 1 | EventPhase.CAPTURING_PHASE |
| 2 | EventPhase.AT_TARGET |
| 3 | EventPhase.BUBBLING_PHASE |
需要注意的是,并非每个组件都能触发所有类型的事件,也不是所有事件都参与这三个阶段。事件对象的 bubbles 属性返回一个布尔值,指示该事件是否参与冒泡阶段。
事件对象的 target 属性指触发事件的组件,该值在事件流过程中不会改变。而 currentTarget 属性反映当前正在检查事件处理程序的对象,该值在事件流过程中会反复变化。例如,在 Label - Panel - Application 的示例中, currentTarget 在捕获阶段从 Application 到 Panel,在目标阶段到 Label,在冒泡阶段又从 Label 到 Panel 再到 Application。
2. 内联事件处理
内联事件处理是处理事件最直
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



