# 事件

# 监听器

  • 说明

通过给指定的事件绑定处理程序,当事件触发时,执行自定义逻辑。

  • 定义
on(event: string, handler: Function)
once(event: string, handler: Function)
off(event: string, handler: Function)

# on()

添加事件处理程序。

# once()

添加只触发一次的事件处理程序。

# off()

移除指定的事件处理程序。

# 文档就绪 doc-content-ready

  • 说明

文档内容设置完成触发此事件。

  • 定义
on(event: 'doc-content-ready', handler: () => void)
once(event: 'doc-content-ready', handler: () => void)
off(event: 'doc-content-ready', handler: () => void)
  • 参数

无。

  • 返回

无。

# 内容变更 text-change

  • 说明

当编辑器内容发生变更时触发。提供变更内容详情、变更前的编辑器内容和变更的来源。

如果变更来源于用户,source 的值就为 "user"

  • 定义
on(
  event: 'text-change',
  hander: (delta: Delta, oldContents: Delta, source: Source) => void
)
once(
  event: 'text-change',
  hander: (delta: Delta, oldContents: Delta, source: Source) => void
)
off(
  event: 'text-change',
  hander: (delta: Delta, oldContents: Delta, source: Source) => void
)
  • 参数

    • delta: 变更内容。
    • oldContents: 变更前编辑器内容。
    • source: 变更来源。
  • 返回

无。

# 选区变更 selection-change

  • 说明

当编辑器发生变更时触发。提供新的选区、变更前的选区和变更的来源。

如果选区为 null 则表示选区丢失(失去焦点)。

  • 定义
on(
  event: 'selection-change',
  hander: (range: Range, oldRange: Range, source: Source) => void
)
once(
  event: 'selection-change',
  hander: (range: Range, oldRange: Range, source: Source) => void
)
off(
  event: 'selection-change',
  hander: (range: Range, oldRange: Range, source: Source) => void
)
  • 参数

    • range: 新的选区。
    • oldRange: 变更前的选区。
    • source: 变更来源。
  • 返回

无。

# 渲染图片 image-should-render

  • 说明

图片加载时触发。监听此事件,将 objectId 转为图片链接,然后通过 image.render() 方法渲染。

参考:图片

  • 定义
// aka transfer-img-objectId
on(
  event: 'image-should-render',
  handler: (objectId: string, width: number) => void
)
once(
  event: 'image-should-render',
  handler: (objectId: string, width: number) => void
)
off(
  event: 'image-should-render',
  handler: (objectId: string, width: number) => void
)
  • 参数

    • objectId: 图片对象 ID。
    • width: 图片显示宽度。选择合适的宽度可以有效降低图片大小,提升加载速度。
  • 返回

无。

# 渲染音频 audio-should-render

  • 说明

音频加载时触发。监听此事件,将 objectId 转为音频链接,然后通过 image.render() 方法渲染。

参考:音频

  • 定义
// aka transfer-audio-objectId
on(event: 'audio-should-render', handler: (objectId: string) => void)
once(event: 'audio-should-render', handler: (objectId: string) => void)
off(event: 'audio-should-render', handler: (objectId: string) => void)
  • 参数

    • objectId: 音频对象 ID。
  • 返回

无。

# 重传图片 retry-upload-image

  • 说明

上传图片失败,用户点击重试触发此事件。

  • 定义
on(event: 'retry-upload-image', handler: (options: Object) => void)
once(event: 'retry-upload-image', handler: (options: Object) => void)
off(event: 'retry-upload-image', handler: (options: Object) => void)
  • 参数

//TODO:

待完善

  • 返回

无。

# 重传音频 retry-upload-audio

  • 说明

上传音频失败,用户点击重试触发此事件。

  • 定义
on(event: 'retry-upload-audio', handler: (options: Object) => void)
once(event: 'retry-upload-audio', handler: (options: Object) => void)
off(event: 'retry-upload-audio', handler: (opoptionstion: Object) => void)
  • 参数

//TODO:

待完善

  • 返回

无。

# 重传附件 retry-upload-attachment

  • 说明

上传附件失败,用户点击重试触发此事件。

  • 定义
on(event: 'retry-upload-attachment', handler: (options: Object) => void)
once(event: 'retry-upload-attachment', handler: (options: Object) => void)
off(event: 'retry-upload-attachment', handler: (options: Object) => void)
  • 参数

//TODO:

待完善

  • 返回

无。

# 点击图片 image-clicked

  • 说明

用户点击了某一张图片时触发。

可以基于此事件开发图片全屏预览模式等功能。

  • 定义
// aka img-preview
on(
  event: 'image-clicked',
  handler: (data: string[], index: number) => void
)
once(
  event: 'image-clicked',
  handler: (data: string[], index: number) => void
)
off(
  event: 'image-clicked',
  handler: (data: string[], index: number) => void
)
  • 参数

//TODO:

待完善

  • 返回

无。

# 点击音频选项 audio-options-clicked

  • 说明

用户点击了音频条上的更多按钮时触发。

可以展示自定义的操作菜单,实现如下载、转存等功能。

  • 定义
// aka audio-more
on(event: 'audio-options-clicked', handler: (options: Object) => void)
once(event: 'audio-options-clicked', handler: (options: Object) => void)
off(event: 'audio-options-clicked', handler: (options: Object) => void)
  • 参数

//TODO:

待完善

  • 返回

无。

# 点击附件下载 attachment-download-clicked

  • 说明

用户点击了附件条上的下载按钮时触发。

  • 定义
// aka download-attachment
on(
  event: 'attachment-download-clicked',
  hander: (objectId: string, name: string) => void
)
once(
  event: 'attachment-download-clicked',
  hander: (objectId: string, name: string) => void
)
off(
  event: 'attachment-download-clicked',
  hander: (objectId: string, name: string) => void
)
  • 参数

//TODO:

待完善

  • 返回

无。

  • 说明

用户点击了链接时触发。

可以选择直接打开链接,也可以根据返回的参数展示其他操作菜单。

  • 定义
// aka show-link-tooltip
on(
  event: 'link-clicked',
  handler: (
    name: string,
    href: string,
    bounds: Bounds,
    jump: boolean
  ) => void
)
once(
  event: 'link-clicked',
  handler: (
    name: string,
    href: string,
    bounds: Bounds,
    jump: boolean
  ) => void
)
off(
  event: 'link-clicked',
  handler: (
    name: string,
    href: string,
    bounds: Bounds,
    jump: boolean
  ) => void
)
  • 参数

//TODO:

待完善

  • 返回

无。

# 重置格式刷 painter-reset

  • 说明

重置格式刷激活状态时触发。

可用于同步工具栏、光标状态。

  • 定义
// aka cancel-brush
on(event: 'painter-reset', handler: () => void)
on(event: 'painter-reset', handler: () => void)
on(event: 'painter-reset', handler: () => void)
  • 参数

无。

  • 返回

无。

# 更多事件

//TODO:

待完善