---
navTitle: $event
---
# $event - 当前事件信息

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

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

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

- `$event.type` - 事件的类型，包括`click`, `dbclick`, `hover`, `contextmenu`, `input`, `change`……
- `$event.value` - 当前事件发生时所在的组件的“值”，等价于`$event.target.value`
- `$event.txt` - 当前事件发生时所在的组件的值作用显示格式之后的“文本”，等价于`$event.target.txt`
- `$event.target` - 触发该事件的组件（或部件、节点等），即事件发生的源头组件，可访问属性见[target](#event-target)
- `$event.currentTarget` - 监听事件的组件，即事件是是被哪个组件所处理的，可访问属性见[target](#event-target)
- `$event.timeStamp` - 事件发生时的时间戳
- `$event.altKey` - 事件发生时是否按下了alt键
- `$event.ctrlKey` - 事件发生时是否按下了ctrl键
- `$event.metaKey` - 事件发生时是否按下了meta键（windows是win键，macOS是cmd键）
- `$event.shiftKey` - 事件发生时是否按下了shift键
- `$event.key` - 用户键盘输入时输入的键，如`a`表示字母a，`Enter`表示回车键
- `$event.code` - 键盘输入时输入的键的代码，如`Space`表示空格、'ArrowUp'表示向上箭头，见<https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values>
- `$event.repeat` - 是否按住了键盘没有松开
- `$event.isComposing` - 是否正在使用输入法输入
- `$event.button` - 鼠标点击时鼠标的按钮，0表示左键，1表示中键，2表示右键
- `$event.screenX` - 鼠标在屏幕中的X坐标\`
- `$event.screenY` - 鼠标在屏幕中的Y坐标\`
- `$event.clientX` - 鼠标在视窗可视区域中的X坐标\`
- `$event.clientY` - 鼠标在视窗可视区域中的Y坐标\`
- `$event.offsetX` - 鼠标在当前元素中的X坐标\`
- `$event.offsetY` - 鼠标在当前元素中的Y坐标\`
- `$event.pageX` - 鼠标在当前窗口页面中的X坐标（含滚动）\`
- `$event.pageY` - 鼠标在当前窗口页面中的Y坐标（含滚动）\`
- `$event.movementX` - 鼠标相对于上次事件的X坐标的移动距离\`
- `$event.movementY` - 鼠标相对于上次事件的Y坐标的移动距离\`

## `$event.target` 属性{#event-target}

`$event.target` 和 `$event.currentTarget` 都是组件对象，其属性相同：

- `.id` - 事件发生时用户点击的组件的id
- `.name` - 触发该事件的组件的名称，如：柱形图有两个指标系列，点击不同柱子可获取对应的指标名称
- `.value` - 触发该事件的组件的值，如：被点击的树节点的id、按钮的值、输入框的值、日历中的用户点击的日期……
- `.txt` - 触发该事件的组件的值作用显示格式之后的文本，如：输入框的文本，单元格的文本
- `.dataCount` - 当前事件发生时所在的组件关联数据的行数。如：gispoints一个经纬度上对应了多个点；列表多选了几行数据并点击右键
- `.type` - 事件发生时用户点击或操作的“部件”，用于判断用户点击的具体内容，可能的类型见[$event.target.type](#event-target-type)
- `.dom` - 事件发生时点击的DOM元素，可以通过它进一步访问到下面的属性：
  - `.textContent` - DOM的内容，等价于`.dom`
  - `.tag` - DOM的tag，如`a`、`div`
  - `.className` - DOM的内容样式，如果有多个那么逗号分割
  - `.attributes` - DOM的所有属性构成的JSON字符串

## `$event.target.type` 可能的值{#event-target-type}

- `nodeIcon` - 表示点击的树节点图标
- `nodeText` - 表示点击的树节点标题
- `tree` - 表示点击的树的空白区域
- `date` - 表示点击的日历控件的某一天（通过`$event.value`可以知道具体哪天）
- `hintNumber` - 表示点击提示数字
- `warnNumber` - 表示点击警告数字
- `errorNumber` - 表示点击错误数字
- ……，更多类型，可以由组件实现者提供
