# $event - 当前事件信息

$event代表当前交互发生时的事件信息。常用于:

  1. 在交互的启用条件中判断,只有当满足具体的交互细节时才执行交互动作。例如点击日历组件的“警告数字”时显示详细警告信息的提示面板、点击输入框的标题时显示帮助信息。
  2. 在交互弹出的对话框中,通过事件对象获取更多信息用于过滤数据。

在表达式中可以通过$event.xxx的形式获取细节信息,包括:

  • $event.type - 事件的类型,包括click, dbclick, hover, contextmenu, input, change……
  • $event.value - 当前事件发生时所在的组件(或部件、节点等)的“值”,如:被点击的树节点的id、按钮的值、输入框的值、日历中的用户点击的日期……
  • $event.targetFiled - 获取事件发生时用户点击组件部位的相关字段信息,如:柱形图有两个指标系列,点击不同柱子可获取对应的指标名称、物理字段名等信息。可获取的字段信息如下:
    • $event.targetFiled.name - 字段的名称
    • $event.targetFiled.dbField - 字段的物理字段名
    • $event.targetFiled.exp - 字段的表达式
    • $event.targetFiled.value - 字段的值
    • $event.targetFiled.txt - 字段的文本
  • $event.targetType - 事件发生时用户点击或操作的“部件”,用于判断用户点击的具体内容,如:
    • $event.targetType="nodeIcon"表示点击的树节点图标
    • $event.targetType="nodeText"表示点击的树节点标题
    • $event.targetType="tree"表示点击的树的空白区域
    • $event.targetType="date"表示点击的日历控件的某一天(通过$event.value可以知道具体哪天)
    • $event.targetType="hintNumber"表示点击提示数字
    • $event.targetType="warnNumber"表示点击警告数字
    • $event.targetType="errorNumber"表示点击错误数字
    • ……,更多类型,可以由组件实现者提供
  • $event.targetDOM - 事件发生时点击的DOM元素,可以通过它进一步访问到下面的属性:
    • $event.targetDOM.textContent - DOM的内容,等价于$event.targetDOM
    • $event.targetDOM.tag - DOM的tag,如adiv
    • $event.targetDOM.className - DOM的内容样式,如果有多个那么逗号分割
    • $event.targetDOM.attributes - DOM的所有属性构成的JSON字符串
  • $event.targetData - 当前事件发生时所在的组件关联的数据,如用户点击列表中的某行,点击Gis地图中的某个点,可以通过它进一步访问到具体的字段的值:
    • $event.targetData.field1 - 获取用户点击的数据的的字段1的数据
    • $event.targetData.field2 - ...
  • $event.targetDataCount - 当前事件发生时所在的组件关联数据的行数。如:gispoints一个经纬度上对应了多个点;列表多选了几行数据并点击右键
  • $event.altKey - 事件发生时是否按下了alt键
  • $event.ctrlKey - 事件发生时是否按下了ctrl键
  • $event.metaKey - 事件发生时是否按下了meta键(windows是win键,macOS是cmd键)
  • $event.shiftKey - 事件发生时是否按下了shift键
  • $event.key - 用户键盘输入时输入的键
是否有帮助?
0条评论
评论