# Tap 事件（tap event）

定义组件在鼠标点击或触摸事件发生时的行为。

## 行为

### 按下效果

当组件发生 tap 事件时，配置的阴影效果会暂时消失，组件会按照 X 轴和 Y 轴的偏移量移动一段距离，然后恢复到原始状态。这创建了按钮被按下的效果。

### 动作

- 跳转到目标面板（goto target board）
  - 跳转到指定的目标面板。
  - 支持此功能的查看器将从当前面板切换到目标面板。用户可以使用查看器提供的“返回”功能导航回去，或者通过点击目标面板中设置为“关闭当前面板”的特定组件来返回。
  - 参数：
    - 目标（target）：从面板列表中指定要显示为弹出窗口的目标面板。
- 在新窗口中打开目标链接（open new window for target link）
  - 在新的浏览器标签页中打开指定的链接页面。
  - 参数：
    - 目标（target）：指定要在新的浏览器标签页中打开的页面的 URL。
- 跳转到目标链接（move to target link）
  - 在当前浏览器标签页中打开指定的链接页面。
  - 参数：
    - 目标（target）：指定要在当前浏览器标签页中打开的页面的 URL。
- 路由到页面（route to page）
  - 导航到 Things Factory 框架中的其他页面。
  - 例如，将目标页面设置为'settings'将导航到设置页面。
  - 参数：
    - 目标（target）：设置要导航到的页面路由。可以使用':page[/:resource]'的格式指定，不包括上下文路径等。
- 弹出目标面板（popup target board）
  - 在弹出窗口中显示指定的目标面板。
  - 弹出窗口的位置会根据弹出目标面板的大小和悬停组件的位置，在以下位置之一显示：
    - 左上角、右上角、左下角、右下角、中心
  - 弹出窗口的大小不应超过当前面板的大小。如果弹出目标面板的大小大于当前面板，则无法完整查看弹出目标面板的所有内容。
  - 要关闭弹出窗口，可以点击弹出窗口右上角的“X”关闭按钮，或者点击目标面板中设置为“关闭当前面板”的特定组件来关闭。
  - 参数：
    - 目标（target）：在弹出窗口中显示的目标面板，从面板列表中指定。
    - 输入数据：要传递给目标面板的初始值。该参数指定的组件数据值将作为初始值传递。
    - 返回值反映：目标面板关闭时，返回值将被反映为该组件的数据值。
- 模态弹出目标面板（modal popup target board）
  - 与 popup target board 相同，但弹出窗口以模态方式工作。要关闭弹出窗口，可以点击弹出窗口周围的背景部分，或者按下 Esc 键。
- 关闭当前面板（close current board）
  - 如果该组件所在的面板是以'popup target board'方式打开的，则关闭弹出窗口。
  - 如果该组件所在的面板是通过'goto target board'跳转的，则返回上一个面板。
- 打开信息窗口（open infowindow）
  - 根据配置在'info-window'组件中的内容，在鼠标悬停点附近显示信息窗口。
  - 参数：
    - 目标（target）：指定要显示的目标信息窗口的 ID。
- 切换打开/关闭信息窗口（toggle open infowindow）
  - 根据配置在'info-window'组件中的内容，打开或关闭鼠标悬停点附近的信息窗口。
  - 参数：
    - 目标（target）：指定要打开或关闭的目标信息窗口的 ID。
- 切换目标组件数据（toggle target component data）
  - 根据目标组件的当前数据值，按照布尔值 true/false 的顺序切换数据。
  - 参数：
    - 目标（target）：要切换数据的目标组件。
- 三态（0/1/2）目标组件数据（tristate(0/1/2) target component data）
  - 根据目标组件的当前数据值，按照数字 0/1/2 的顺序循环数据。
  - 参数：
    - 目标（target）：要循环数据的目标组件。
- 强制执行目标组件的数据传播。(forcely execute data spreading of target component)
  - 使用目标组件的当前数据执行强制数据传播。
  - 参数：
    - 目标（target）：要更改数据的目标组件。
- 设置值到目标组件数据（set value to target component data）
  - 根据指定的值更改目标组件的'data'。
  - 通常，更改组件的 data 会触发目标组件上指定的数据传播效果。
  - 参数：
    - 目标（target）：要更改数据的目标组件。
    - value：要设置为目标组件的值（可以指定字符串、数字或对象类型）。
- 设置值到目标组件值（set value to target component value）
  - 根据指定的值更改目标组件的'value'。
  - 通常，更改组件的 value 会触发目标组件上指定的操作效果。
  - 参数：
    - 目标（target）：要更改值的目标组件。
    - value：要设置为目标组件的值（可以指定字符串、数字或对象类型）。
- 启动给定的场景（start the given scenario）
  - 使用指定的值启动目标场景。
  - 仅启动目标场景，不等待场景完成。如果场景已经在运行，则不会启动新实例。
  - 参数：
    - 目标（target）：要启动的场景。
    - value：要传递给场景的参数。
- 运行给定的场景（run the given scenario）
  - 使用指定的值执行目标场景。
  - 启动目标场景的新实例，并等待其完成，然后将最终场景结果直接保存到组件数据属性中。这将导致数据更改进行传播。
  - 参数：
    - 目标（target）：要执行的场景。
    - value：要传递给场景的参数。
