局部动画、状态提示、自定义校验、复杂流程跳转、输入确认后二次处理,这些场景适合 Click Script。当一个动作不只是写一个值或跳转一个页面时,可以通过脚本组织组合逻辑。
Click / Hover / Press-Release Script:按真实触发阶段选择脚本 | HQ VISU Designer
Click 处理一次点击,Hover 处理移入移出,Press/Release 处理按下与松开。能通过标准行为配置的动作仍应优先配置,脚本负责特例和组合逻辑。
Click / Hover / Press-Release Script:按真实触发阶段选择脚本
Click 处理一次点击,Hover 处理移入移出,Press/Release 处理按下与松开。能通过标准行为配置的动作仍应优先配置,脚本负责特例和组合逻辑。
Click Script 适合先读页面输入、再判断条件、再调用标准方法。脚本中仍应优先调用 hqVisuDesigner.openPage、hqVisuDesigner.openDiagnosis、hqVisuDesigner.writeTag 等明确方法,而不是把全部逻辑写成不可复用的 DOM 操作。
- 读取输入模板:template.getValue("Input Template")
- 确认条件:if (...) return;
- 写值:hqVisuDesigner.writeTag(payload)
- 跳转:hqVisuDesigner.openPage("Alarm")
var value = template.getValue("SetpointInput");
if (value === "") {
hqVisuDesigner.setComponentText("Message", "请输入设定值");
return;
}
hqVisuDesigner.writeTag({
TagName: "Device.SETPOINT",
Value: Number(value),
PermissionCode: "io:write",
RequireConfirm: true
}); 悬停高亮、预览、局部透明度变化、帮助提示和短时反馈都适合 Hover Script。它最好的用法是做轻量反馈,而不是承载重业务逻辑;运行端不会为 Hover Script 提供设备写入能力。
// Mouse Over
object.style.opacity = "0.7";
// Mouse Out
object.style.opacity = "1"; 需要区分按下和松开时使用 Press/Release Script。Pointer Press 在主指针按下时执行;Pointer Release 在松开、取消或丢失指针捕获时执行。两段脚本必须成对设计,释放段负责复位。
- 点动、按住执行、松手停止
- 按压态显示与恢复
- Pointer Press / Pointer Release 都是完整脚本
- 没有单独 Condition 字段
- 不能替代 PLC 联锁、急停和安全回路
// Pointer Press
WriteTagBoolean("<CommandTag>", true);
// Pointer Release
WriteTagBoolean("<CommandTag>", false); 当目标需要动态计算、需要先校验输入、需要组合多个方法、或者需要在一次点击里顺序执行多个动作时,脚本通常更合适。比如先读模板值,再判断是否合法,再写 Tag,再切换页面。
如果只是打开页面、写一个 Tag、打开诊断窗或切换一个页面变量,应优先使用明确配置行为。这样维护人员可以直接从界面理解动作意图,不需要先阅读脚本逻辑。
复杂动作和局部特例更适合 Click Script,但简单动作仍优先配置行为。
Hover Script 最适合轻量反馈,而不是承担重业务逻辑。
实际模式会把两个脚本框显示为 Pointer Press 和 Pointer Release;释放段负责安全复位。
脚本片段会根据当前输入位置插入短表达式或完整脚本,适合减少把代码写到错误字段的问题。