v0.1首个正式支持的版本化规范查看版本范围

input.focusChange event

绘图面的输入焦点布尔状态变化时发送。应用启动时所有绘图面均视为未聚焦。

Event payload

{
  canvasId: string,
  focused: boolean,
  reason: "requested" | "user" | "system" | "hidden" | "destroyed" | "trusted-ui"
}

Examples

host.events.on('input.focusChange', ({ canvasId, focused }) => {
  if (canvasId !== 'editor') return;
  editor.setFocused(focused);
  if (!focused) editor.closeTransientControls();
});

Delivery rules

  • 同一绘图面只在 focused 布尔值变化时发送,不能重复报告同一状态。
  • 获得焦点事件排在该焦点下第一个 pointer/key/wheel 之前。
  • 失焦时,活动 pointer 的 cancel 先送达,本事件随后送达;本事件之后不得再交付该焦点下的输入。
  • reason: "requested" 只用于 input.focus() 成功;可信宿主界面临时夺取焦点使用 trusted-ui
  • 事件不得合并或丢弃。

Requirements

  • 事件声明:input.focusChange
  • 来源:passive;只报告本应用绘图面的焦点
  • 信任档位:继承 input 的 green

See also

input.focus()input.pointer

Host API 版本与分层概览Host API v0.1版本非正式提议提议canvas API呈现canvas.getInfo()方法canvas.draw()方法canvas.present()方法canvas.measureText()方法canvas.frame event事件canvas.resize event事件asset API呈现asset.read()方法asset.loadFont()方法playback API呈现playback.open()方法playback.write()方法playback.stop()方法playback.ready event事件playback.ended event事件input API输入input.focus()方法input.pointer event事件input.key event事件input.wheel event事件input.focusChange event事件ime API输入ime.openSession()方法ime.updateState()方法ime.updateGeometry()方法ime.closeSession()方法ime.textUpdate event事件ime.composition event事件ime.formatUpdate event事件ime.characterBoundsRequest event事件ime.ended event事件capture API输入capture.requestCamera()方法capture.requestMic()方法capture.frame()方法capture.readAudio()方法capture.stop()方法capture.ended event事件store API数据store.get()方法store.put()方法store.delete()方法store.list()方法store.deletePrefix()方法clipboard API数据clipboard.readText()方法clipboard.writeText()方法env API平台集成env.snapshot()方法env.change event事件开始调用 Host API指南构建交互式绘图应用指南构建自绘文本编辑器指南管理媒体采集与播放指南组织本地数据与同步指南