牛骨文教育服务平台(让学习变的简单)

基础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");
});