JavaScript is required

用户交互与事件

本页对应英文版 User Interaction & Events,介绍 relation-graph 如何把节点、连线、画布、滚轮、键盘和触控等用户操作组织成统一事件系统。

事件系统总览

  • 所有交互都会经过标准化事件管线。
  • 默认行为、自定义处理器和平台桥接共同决定最终效果。

事件流架构

  • 用户操作
  • 命中检测与状态更新
  • 默认处理器执行
  • 自定义监听器执行
  • 平台侧事件透出

核心事件对象

  • RGEventNames
  • RGListeners
  • RGUserEvent

它们共同定义事件名称、处理签名和运行时事件上下文。

事件注册方式

声明式监听

  • 适合大多数业务页面。

编程式注册

  • 适合更复杂的实例级控制。

框架事件桥

  • 适合把核心实例事件进一步映射到平台组件体系。

常见交互类型

  • 节点点击与拖拽
  • 画布拖拽与平移
  • 连线点击与编辑
  • 键盘快捷行为
  • 触摸交互

事件取消与返回值

  • 某些处理器可通过返回值取消默认行为。
  • 某些场景还可以覆盖默认坐标或交互结果。

拖拽辅助

  • RGDragUtils 等工具用于统一拖拽节流、状态转换和位置计算。

性能注意事项

  • 高频交互通常需要节流、去抖或 requestAnimationFrame 协调。
  • 在大图和编辑场景下尤其重要。

相关文档