Hover Script 悬停脚本

Hover Script(悬停脚本)属于“交互(Interactions)”类行为。它用于给一个图形绑定两段 JavaScript:一段在鼠标移入图形时执行,一段在鼠标移出时执行,常用于悬停高亮、临时提示、强调当前指向的设备等轻量视觉反馈。它和 Click Script 一样属于“交互”行为,只有在导出后的 HQ VISU 页面里、用户用鼠标真实交互时才会运行;在 PowerPoint 里编辑幻灯片时不会触发。注意悬停脚本没有自动还原:移入时改了什么,要在移出脚本里自行恢复。

交互

交互: Hover Script 悬停脚本

为图形绑定鼠标移入/移出时执行的 JavaScript:移入(Pointer Enter)做高亮、提示等效果,移出(Pointer Leave)还原,只在导出页面里真实鼠标交互时触发。

它是什么、用来做什么

Hover Script(悬停脚本)属于“交互(Interactions)”类行为。它用于给一个图形绑定两段 JavaScript:一段在鼠标移入图形时执行,一段在鼠标移出时执行,常用于悬停高亮、临时提示、强调当前指向的设备等轻量视觉反馈。它和 Click Script 一样属于“交互”行为,只有在导出后的 HQ VISU 页面里、用户用鼠标真实交互时才会运行;在 PowerPoint 里编辑幻灯片时不会触发。注意悬停脚本没有自动还原:移入时改了什么,要在移出脚本里自行恢复。

使用方法:编辑器里要填的字段

选中图形后打开 Hover Script 行为编辑器。触发方式(Trigger)固定显示为 Pointer Move(指针移动),编辑器里有两个脚本框,都是完整的脚本位置(可写多行逻辑、调用 ReadTag*/WriteTag*,也允许 setTimeout、fetch 等异步):

  • Pointer Enter(鼠标移入,文档中也称 Mouse Over):鼠标进入图形时执行的脚本。
  • Pointer Leave(鼠标移出,文档中也称 Mouse Out):鼠标离开图形时执行的脚本,用来还原移入时所做的改动。
  • 脚本里可用的上下文对象:object、objects、event(鼠标相关)以及 tag、page、presentation、shape、qtedit、globals、escript。
  • object 指当前图形的 DOM 元素,可直接改它的样式(如 object.style.opacity);shape.name 是图形名称。
  • 注意:悬停脚本没有 Enable/Condition 启用门(这点和 Click Script 不同),两段脚本会直接执行。
// Pointer Enter(鼠标移入)
object.style.opacity = "0.7";

// Pointer Leave(鼠标移出)
object.style.opacity = "1";

适用场景

适合纯展示性的鼠标反馈,不需要点击就能给用户提示。

  • 设备图标悬停高亮:鼠标移到泵/阀门上时降低透明度或加描边突出,移开恢复,提示“这个可点”。
  • 临时信息提示:移入时用 qtedit 在页面上显示一段说明或边框强调,移出时清除,不打断用户操作。

边界与易错点

几个真实需要注意的地方:

  • 移入做的修改不会自动撤销:必须在 Pointer Leave 里写对应的还原逻辑,否则鼠标离开后效果会一直留着。
  • 只在导出/宿主页面的真实鼠标交互时运行,PowerPoint 编辑态不触发,需在导出后验证。
  • 若在悬停里写标签(WriteTag*),写入仍要经过宿主的权限/确认/异步处理,不能假定“调用即成功、即同步”;悬停一般只做视觉反馈,避免高频写值。
Hover Script 悬停脚本行为编辑器
图示 1: Hover Script 编辑器

分别填鼠标移入(Pointer Enter)和移出(Pointer Leave)两段脚本,移出脚本负责还原。