企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
###基础API 以下是二次开发过程中,比较常用的对象API ----- - **`editor.ready`** 当编辑器加载、准备完毕之后,会调用传入的函数,例如: ```js editor.ready(function () { // 这里的 this 指向编辑器对象本身 var editor = this; editor.$txt.append('<p>编辑器已经准备完成</p>'); }); ``` ----- - **`editor.updateValue`** 如果你使用了`textarea`创建编辑器,改方法可将编辑器区域的内容,同步到`textarea`中。例如: ```js $('#someBtn').click(function () { editor.$txt.append('追加了新内容'); editor.updateValue(); // 及时更新到 textarea 中 }); ``` ----- - **`editor.disableMenusExcept`** 如果不传入任何参数,将禁用所有菜单。如果传入某一个或某几个菜单的id,将禁用其他菜单。参数可以是`字符串`或`数组`。**所有菜单的id,可参考『参数配置-自定义菜单』小节**。例如: ```js $('#someBtn').click(function () { editor.disableMenusExcept(); //禁用所有菜单 editor.disableMenusExcept('bold'); //禁用所有菜单,除了『粗体』菜单 editor.disableMenusExcept(['bold', 'img']); //禁用所有菜单,除了『粗体』和『图片』菜单 }); ``` ----- - **`editor.enableMenusExcept`** 和`editor.disableMenusExcept`的应用相同,只不过作用想法。这个API是启用菜单的。 ----- - **`editor.disable` `editor.enable`** 参见『内容管理 - 启用/禁用』小节 ----- - **`editor.create`** 创建一个编辑器,即文档『开始使用 - 生成编辑器』一节描述的用法。 ----- - **`editor.getLegalTags`** 根据一个`elem`元素,查找父元素,直到获取编辑器允许的`合法类型的元素`位置,并返回该父元素。例如: ```js $('#btn').click(function () { // 获取当前选区所在的元素 var elem = editor.getRangeElem(); // 获取当前选区所在的合法类型的元素 var legalElem = editor.getLegalTags(elem); }); ``` **说明:**所谓『合法类型的元素』是指编辑器允许在编辑器区域内出现的顶级节点的元素类型。 例如,通常情况下,允许`<p>`作为顶级节点,而不允许`<div>`作为顶级节点。因为`<div>`作为顶级节点时,回车换行会出现问题。 这些合法标签,可通过 `wangEditor.config.legalTags` 获取和配置。 ``` // 首先确保引用了 wangEditor.min.js console.log(wangEditor.config.legalTags); ``` ---- - **`editor.getSelfOrParentByName`** 传入一个elem元素和一个查询条件,查询符合条件的父元素、或该元素本身。 ```js $('#btn').click(function () { // 获取当前选区所在的元素 var elem = editor.getRangeElem(); // 获取当前选区所在的 p 元素 var p = editor.getSelfOrParentByName(elem, 'p'); }); ```