# $event - 当前事件信息

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

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

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

  • $event.type - 事件的类型,包括click, dbclick, hover, contextmenu, input, change……
  • $event.value - 当前事件发生时所在的组件的“值”,等价于$event.target.value
  • $event.target - 触发该事件的组件(或部件、节点等),即事件发生的源头组件,可访问属性见target
  • $event.currentTarget - 监听事件的组件,即事件是是被哪个组件所处理的,可访问属性见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 (opens new window)
  • $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.currentTarget 都是组件对象,其属性相同:

  • .id - 事件发生时用户点击的组件的id
  • .value - 触发该事件的组件的值,如:被点击的树节点的id、按钮的值、输入框的值、日历中的用户点击的日期……
  • .dataCount - 当前事件发生时所在的组件关联数据的行数。如:gispoints一个经纬度上对应了多个点;列表多选了几行数据并点击右键
  • .type - 事件发生时用户点击或操作的“部件”,用于判断用户点击的具体内容,可能的类型见$event.target.type
  • .field - 获取事件发生时用户点击组件部位的相关字段信息,如:柱形图有两个指标系列,点击不同柱子可获取对应的指标名称、物理字段名等信息。可获取的字段信息如下:
    • .name - 字段的名称
    • .dbField - 字段的物理字段名
    • .exp - 字段的表达式
    • .value - 字段的值
    • .txt - 字段的文本
  • .data - 当前事件发生时所在的组件关联的数据,如用户点击列表中的某行,点击Gis地图中的某个点,可以通过它进一步访问到具体的字段的值:
    • .field1 - 获取用户点击的数据的的字段1的数据
    • .field2 - ...
  • .dom - 事件发生时点击的DOM元素,可以通过它进一步访问到下面的属性:
    • .textContent - DOM的内容,等价于.dom
    • .tag - DOM的tag,如adiv
    • .className - DOM的内容样式,如果有多个那么逗号分割
    • .attributes - DOM的所有属性构成的JSON字符串

# $event.target.type 可能的值

  • nodeIcon - 表示点击的树节点图标
  • nodeText - 表示点击的树节点标题
  • tree - 表示点击的树的空白区域
  • date - 表示点击的日历控件的某一天(通过$event.value可以知道具体哪天)
  • hintNumber - 表示点击提示数字
  • warnNumber - 表示点击警告数字
  • errorNumber - 表示点击错误数字
  • ……,更多类型,可以由组件实现者提供
是否有帮助?
0条评论
评论