事件启动所有客户端代码。 在模型驱动应用中,将 JavaScript 库(脚本 Web 资源)中的特定函数关联在事件发生时要执行。 此函数称为 事件处理程序。 每个事件处理程序指定 JavaScript 库中的单个函数以及可传递给函数的任何参数。
可以使用 UI 将事件处理程序关联到某些事件。 对于无法通过 UI 关联的事件,客户端 API 提供了可用于将事件处理程序附加到此类事件的方法。
使用 UI 向事件添加或删除事件处理程序函数
批量编辑表单
默认情况下,当窗体处于批量编辑模式时,不会调用事件处理程序。
若要在批量编辑模式下启用事件处理程序,请通过查找相关 event 元素并创建/设置属性 BehaviorInBulkEditForm 来 Enabled修改 Form XML。 目前,仅 OnLoad 事件支持此作。
有关表单 XML 自定义的详细信息,请参阅 何时编辑自定义项文件、 自定义窗体和 窗体 XML 架构。
若要确定何时在批量编辑模式下对窗体调用事件处理程序,请使用 getFormType 方法。
使用代码向事件添加或删除事件处理程序函数
使用以下方法为无法通过 UI 关联的事件添加和删除事件处理程序:
| 事件 | 事件处理程序 |
|---|---|
| Attribute OnChange | addOnChange 和 removeOnChange 方法 |
| Form OnLoad | formContext.ui addOnLoad 和 removeOnLoad 方法 |
| 已加载窗体 | formContext.ui addLoaded 和 removeLoaded 方法 |
| 表单数据 OnLoad | formContext.data addOnLoad 和 removeOnLoad 方法 |
| 窗体 OnSave | addOnSave 和 removeOnSave 方法 |
| 查找控件 PreSearch | addPreSearch 和 removePreSearch 方法 |
| kbsearch 控件 OnResultOpened | addOnResultOpened 和 removeOnResultOpened 方法 |
| kbsearch 控件 OnSelection | addOnSelection 和 removeOnSelection 方法 |
| kbsearch 控件 PostSearch | addOnPostSearch 和 removeOnPostSearch 方法 |
重要
执行上下文自动作为第一个参数传递给使用代码设置的函数。 详细信息: 客户端 API 执行上下文
表单事件管道
最多可为每个事件定义 50 个事件处理程序。 每个事件处理程序按窗体属性对话框的“事件”选项卡中的“事件处理程序”部分显示的顺序执行。
使用 setSharedVariable 和 getSharedVariable 方法在事件处理程序(函数)之间传递公共变量。 使用执行上下文 getDepth 方法了解相对于其他事件处理程序执行的事件处理程序的顺序。