Skip to content

事件机制

JSSDK 提供了 ApiEvent 事件机制,使你可以监听文档的交互行为,并在触发时运行一些 JavaScript 代码。

JSSDK 提供的事件分为公共事件和组件事件(例如文字事件、表格事件等),公共事件在各大组件中都能使用。

JSSDK 事件机制 支持对同一个事件绑定多个回调函数,也支持对单个回调函数取消绑定。

ApiEvent 的基本用法如下所示:

js
// 获取 JSSDK 实例对象
const jssdk = WebOfficeSDK.init({
  ...
});

const handle = (res) => console.log(res);

// 监听事件
jssdk.ApiEvent.AddApiEventListener("fileOpen", handle);

// 取消监听
jssdk.ApiEvent.RemoveApiEventListener("fileOpen", handle);

await jssdk.ready();

IMPORTANT

强烈建议将 ApiEvent.AddApiEventListener 放到 jssdk.ready 前进行,否则可能会存在不生效情况

监听公共事件

fileOpen

文档打开成功或者失败时的事件回调

js
jssdk.ApiEvent.AddApiEventListener("fileOpen", (data) => {
  console.log("fileOpen: ", data);
});

成功时的返回参数:

json
{
  "success": true
}

失败时的返回参数:

json
{
  "success": false
}

error

错误发生时的事件回调

js
jssdk.ApiEvent.AddApiEventListener("error", (error) => {
  console.log("error: ", error);
});

返回参数:

json
{
  "code": -4,
  "msg": "下载失败"
}