基础API
基础API
以下是二次开发过程中,比较常用的对象API
editor.ready
当编辑器加载、准备完毕之后,会调用传入的函数,例如:
editor.ready(function () {
// 这里的 this 指向编辑器对象本身
var editor = this;
editor.$txt.append("<p>编辑器已经准备完成</p>");
});
editor.updateValue
如果你使用了textarea
创建编辑器,改方法可将编辑器区域的内容,同步到textarea
中。例如:
$("#someBtn").click(function () {
editor.$txt.append("追加了新内容");
editor.updateValue(); // 及时更新到 textarea 中
});
editor.disableMenusExcept
如果不传入任何参数,将禁用所有菜单。如果传入某一个或某几个菜单的id,将禁用其他菜单。参数可以是字符串
或数组
。所有菜单的id,可参考『参数配置-自定义菜单』小节。例如:
$("#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
元素,查找父元素,直到获取编辑器允许的合法类型的元素
位置,并返回该父元素。例如:
$("#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元素和一个查询条件,查询符合条件的父元素、或该元素本身。
$("#btn").click(function () {
// 获取当前选区所在的元素
var elem = editor.getRangeElem();
// 获取当前选区所在的 p 元素
var p = editor.getSelfOrParentByName(elem, "p");
});