- SAP UI5 sap.ui.core.Element 的概要介
- 关于 SAP UI5 参数 $$updateGroupId 前面
- 通过 FileUploader 的初始化,了解 SAP UI5
- SAP UI5 设备类型检测 Device API 的工作原理
- 如何通过 ABAP 代码给 SAP OData 元数据增添注解试
- Fiori-like Prototype ( 2021 SAP
- SAP UI5 Smart Table 和 Smart Filt
- 关于 SAP UI5 Web Components
- 关于 SAP UI5 Context.prototype.del
- SAP UI5和微信小程序框架里的全局变量
sap.ui.core.Element 是所有 SAP UI5 页面 Element(中文翻译为元素) 的基类。
Element 是 UI5 UI 最基本的构建块。 元素具有类似于 ManagedObject 的状态,它具有唯一的 ID,框架通过该 ID 记住它。 它可以有关联的 DOM,但它不能呈现自己。 只有 SAP UI5 Control 可以呈现自己,并负责呈现它们作为子元素聚合的元素。 如果一个元素已被渲染,它的相关 DOM 将获得与该元素相同的 ID,从而可以通过 API 检索。 当一个元素的状态改变时,它会通知它的父控件,它通常会重新渲染。
UI5 框架已经为常见的浏览器事件注册了通用侦听器,例如 click
或 keydown
.
调用时,通用侦听器(generic listeners)首先使用 jQuery.control
方法确定相应的目标元素。然后它检查元素是否具有事件的 event handler 方法。按照惯例,事件处理程序方法与事件同名,但以on
为前缀:例如方法 onclick 是单击事件的处理程序,方法 onkeydown 是 keydown 事件的处理程序,依此类推。
如果有这样的方法,它将以原始事件作为唯一参数来调用。如果元素有一个已注册的委托列表,则它们的处理函数将在存在的情况下以相同的方式调用。
元素和委托之间实现的处理程序集可能不同。并非由元素实现的每个处理程序都必须由其委托实现,并且委托可以实现相应元素未实现的处理程序。
可以在 module:sap/ui/events/ControlEvents
中找到以这种方式处理的浏览器事件列表。此外,框架使用相同的命名约定调度伪事件(模块:sap/ui/events/PseudoEvents)。最后需要强调的一点是,一些框架事件也以这种方式分派,例如BeforeRendering、AfterRendering(仅用于控件)和 ThemeChanged。
如果需要更多浏览器事件,控件可以在其 onAfterRendering 处理程序中使用本机 API 在 DOM 上注册侦听器。如果需要,他们也可以对其聚合元素执行此操作。如果事件可能经常触发(例如 mousemove),最好只在需要时注册它们,然后再取消注册。无论如何,必须在 onBeforeRendering 侦听器中以及在退出钩子中销毁之前清理任何已注册的侦听器,以防止内存泄漏。
网友评论