wangEditor富文本编辑器的使用(一)——基本介绍

wangEditor是一个用Typescript开发的Web富文本编辑器,兼容多种常见浏览器,但不支持移动端。它提供NPM和CDN两种引入方式,简单几行代码即可创建编辑器。通过配置onchange事件,可以实现实时监控内容变化。此外,还可自定义onchange触发的延迟时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wangEditor富文本编辑器的使用(一)——基本介绍

1、介绍

wangEditor-Typescript 开发的 Web 富文本编辑器。

兼容常见的 PC 浏览器:Chrome,Firefox,Safar,Edge,QQ 浏览器,IE11。

不支持移动端。

2、使用手册

官方 https://www.wangeditor.com/doc/

看云 https://www.kancloud.cn/wangfupeng/wangeditor3/332599

在线体验 demo https://codepen.io/collection/DNmPQV

示例

在这里插入图片描述

3、基本使用
NPM
npm i wangeditor --save

安装后几行代码即可创建一个编辑器:

import E from "wangeditor"
const editor = new E("#div1")
editor.create()
CDN
<script
  type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/wangeditor@latest/dist/wangEditor.min.js"
></script>
<script type="text/javascript">
  const E = window.wangEditor
  const editor = new E("#div1")
  // 或者 const editor = new E(document.getElementById('div1'))
  editor.create()
</script>
配置 onchange 函数

配置onchange函数之后,用户操作(鼠标点击、键盘打字等)导致的内容变化之后,会自动触发onchange函数执行。

示例1
<div id="div1">
    <p>请输入内容...</p>
</div>

<!--这里引用jquery和wangEditor.js-->
<script type="text/javascript">
    var editor = new wangEditor("div1");
    
    // 配置 onchange 事件
    editor.onchange = function () {
        // 编辑区域内容变化时,实时打印出当前内容
        console.log(this.$txt.html());
    };
    
    editor.create();
</script>
示例2
<div id="div1">
    <p>欢迎使用 wangEditor 富文本编辑器</p>
</div>

<p>手动触发 onchange 函数执行</p>
<button id="btn1">change</button>

<script type="text/javascript" src="/wangEditor.min.js"></script>
<script type="text/javascript">
    var E = window.wangEditor
    var editor = new E('#div1')
    editor.customConfig.onchange = function (html) {
        // html 即变化之后的内容
        console.log(html)
    }
    editor.create()

    document.getElementById('btn1').addEventListener('click', function () {
        // 如果未配置 editor.customConfig.onchange,则 editor.change 为 undefined
        editor.change && editor.change()
    })

</script>

另外,如果需要修改 onchange 触发的延迟时间(onchange 会在用户无任何操作的 xxx 毫秒之后被触发),可通过如下配置

// 自定义 onchange 触发的延迟时间,默认为 200 ms
editor.customConfig.onchangeTimeout = 1000 // 单位 ms
### 动态为 wangEditor 富文本编辑器中的 HTML 元素设置自定义 ID 属性 wangEditor款功能强大的富文本编辑器,在 Vue 中可以通过其 API 实现多种复杂需求。为了在编辑器中动态为生成的 HTML 元素添加自定义 ID 属性,可以利用 `dangerouslyInsertHtml` 方法结合 DOM 操作来完成。 以下是具体实现方法: #### 使用 `dangerouslyInsertHtml` 插入带 ID 的 HTML 通过 `this.editor.dangerouslyInsertHtml()` 方法可以直接插入带有特定样式或属性的 HTML 片段。如果需要为某个元素指定唯的 ID,则可以在插入时直接定义该 ID[^1]。 ```javascript // 向编辑器插入段包含 id 的 HTML this.editor.dangerouslyInsertHtml(` <div id="uniqueIdExample" style="border: 1px solid black; padding: 10px;"> 这是个具有唯 ID 的 div 元素。 </div> `); ``` 上述代码片段展示了如何向编辑器插入个拥有独特 ID (`uniqueIdExample`) 的 `<div>` 元素。 #### 动态生成并应用 ID 当需要动态生成 ID 并将其应用于新创建的 HTML 节点时,可借助 JavaScript 提供的帮助函数(如 UUID 或时间戳)。下面展示了个简单的例子,其中每次调用都会生成个新的随机字符串作为 ID[^2]。 ```javascript function generateUniqueId() { return 'id_' + Math.random().toString(36).substr(2, 9); } const uniqueId = generateUniqueId(); this.editor.dangerouslyInsertHtml(` <p id="${uniqueId}" style="color:red;">这段文字有个独特的 ID。</p> `); ``` 此部分实现了动态生成 ID,并将它嵌套到要插入的内容之中。 #### 获取已存在的节点并通过脚本修改其 ID 除了在插入阶段即设定好目标对象的身份标识外,还可以先正常加入基础结构再回头调整它们的相关特性——比如更改现有的某些标签所携带的名字空间前缀等等操作亦可行之有效。 假设已经存在些未命名的选择框或者输入域控件等待进步完善补充信息的话,则可通过遍历整个文档树找到这些待处理项目逐赋予独无二的新编号标记出来便于后续管理维护工作顺利开展下去。 ```javascript document.querySelectorAll('.editor p').forEach((paragraph) => { if (!paragraph.id) { // 如果当前段落还没有分配过 ID paragraph.setAttribute('id', generateUniqueId()); } }); ``` 以上代码会查找所有位于 `.editor` 容器内部且尚未被指派个人专属代号的所有 `<p>` 标签实例分别给予各自不同的身份编码以便于区分对待每个单独个体成员之间相互独立互不干扰的关系网络体系架构设计原则下达成最终目的效果呈现形式如下所示。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值