最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何使 Twine/Harlowe 中的点击链接保持可见并可重复触发
时间:2026-07-11 10:57:53 编辑:袖梨 来源:一聚教程网
在 Twine 2 + Harlowe 中,使用 (link:) 宏创建的链接默认为“一次性”行为——点击后执行动作的同时会自动移除自身;若需反复点击、持续触发(如多次弹窗),应改用 (link-rerun:) 宏。
在 twine 2 + harlowe 中,使用 `(link:)` 宏创建的链接默认为“一次性”行为——点击后执行动作的同时会自动移除自身;若需反复点击、持续触发(如多次弹窗),应改用 `(link-rerun:)` 宏。
Harlowe 的 (link:) 宏设计初衷是实现“单次导航或单次交互”,因此其行为包含两个隐式步骤:执行括号内命令 + 从 DOM 中移除该链接元素。这正是你遇到“点击后链接消失”的根本原因——它并非 Bug,而是预期行为。
要实现“点击不消失、可无限重复触发”的效果,正确解法是使用 (link-rerun:) 宏。该宏与 (link:) 语法完全一致,但语义不同:它仅执行内部命令,保留链接本身,并维持当前 passage 内容不变(即不跳转、不重渲染整个 passage,仅响应式执行)。
✅ 正确写法如下:
Thing (link-rerun: "Look at")[(alert: ["It's a thing"], "Sure.")]
⚠️ 注意事项:
- (link-rerun:) 不会刷新 passage 或重载变量,适合轻量交互(如提示、计数、状态切换);
- 若需在点击后更新文本(如显示“已查看 3 次”),可配合 $(count) 变量与 +1 运算使用;
- 避免在 (link-rerun:) 内执行耗时操作或大量 DOM 修改,以免影响响应性能;
- 不要混用 (link:) 与 (link-rerun:) 实现同一逻辑——语义混淆易引发维护问题。
? 小技巧:若还需视觉反馈(如点击后变色),可结合 CSS 类与 enchant 宏动态添加样式,但核心交互逻辑仍应基于 (link-rerun:) 保证可持续性。
相关文章
- 小米手机相册回收站清空步骤教程 07-11
- 怎样查看NGA收藏主题 07-11
- Word-2016怎么取消自动编号功能-Word-2016设定取消自动编号功能的方法 07-11
- 小黑屋云写作如何使用-小黑屋云写作如何运用 07-11
- 图片加水印 轻松防盗用 07-11
- 智慧职教icve手机号绑定方法-智慧职教icve账号换绑及验证流程介绍 07-11