当我们需要传递一段特定的带文字样式 如粗体 下划线 斜体 颜色等这一类的内容给到后台,这个时候为了能够统一制定规范 机制 增加项目的复用 易用 好用 性。

我使用到了 富文本编辑器 。这里使用到的是第三版本 较以往多在事件 样式 兼容上作区别

 技术 : Vue + wangEditor3

首先

我们需要对富文本编辑器做一个大致的了解 认识 知道他的一些事件 和 提供的功能 以及对照自己的项目 取自己需要的东西  工具的产生是为了高效的工作  不是滥用。

简介

wangEditor 轻量级 web 富文本编辑器,配置方便,使用简单。支持 IE10+ 浏览器。

初次接触 必看

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

安装 · 使用

vue 中 执行

npm install npm install wangeditor(全小写)

  创建编辑器

css + script

容器

主要分为三大部分  最外层box      工具栏box  内容区box

最外层包裹

工具栏

内容区域

script

引入

var W = require("wangeditor");
var editor = new W("#toolbar", "#editor");

配置菜单  可定义自己需要的工具栏

mounted 下  页面渲染完之后

editor.customConfig.colors = ["#f9963b", "#ff0000"];editor.customConfig.menus = ['head','bold','italic','underline','foreColor','undo']; 

最后创建

上面是最基础的富文本创建 

当我们需要 记录 当前输入的内容字数 限制字数 以及 说在 富文本编辑内容时进行一定秒数的自动保存 ; 快捷键 ctrl + s 保存 , 工具栏 激活显示样式 等 这些基本都可以利用富文本提供的事件来进行开发

以下代码均在mounted 下编写

ctrl + s 保存 

点击富文本 进行一次提示 仅第一次点击时 进行提示 使用到了jquery 

当当前页面被进行了切换 事件会随组件的销毁而被销毁 因此 再次点击富文本内容区域 (自身指定的区域) 会再次触发提示  实则还是一次

鼠标进入---------------->

富文本 onfocus 鼠标进入 事件

富文本 onchange 事件 高频发生 内容发生改变就会触发该事件 可设置多条件进行事件控制

我这里主要是用来 控制一个自动保存的某个状态 以及 根据内容的变化 实时记录内容的字数 以此判断是否超出限制 字数

editor.txt.html()获取内容区域内容 

实际获取到的内容区域是带有标签符号的原始内容

未处理----------------->

这块真实内容可交由后台

但是前端需要显示真实的眼睛看到的内容字数 就不可带入标签的长度 因此 封装一个方法 去除标签 计算内容的实际长度

处理后-------------->

自动保存  (麻烦点在于 什么情况下 启用 根据项目需求 自己判定)

总的思路以及应用场景是

当鼠标进入富文本内容区域

没有输入内容时

不启用!!

输入了内容之后  设定几秒后启动自动保存

输入时 超过了多少秒后 进行自动保存

当启用了手动保存 自动保存即停用

当输入时达到设定时间启动了自动保存之后  抬手并不启用输入后的自动保存

遇到的小问题---------------

由于富文本编辑器的onchange事件是一个高频率触发的事件

即例

事先在onchange里面
进行一个动作 console 啥啥啥

然后

当你在编辑器内容区依次输入 1 2 3  后 抬手

控制台 会输出 三次 啥啥啥

而我们需要记录的只是用户最后的一个抬手动作

只需判定用户是最后一次输入 (内容变化为最新时 最后一次变化时)

然后

设定一个秒数 在这个设定的时间内 用户没有进行操作 便启动一次自动保存!!!

考虑到浏览器性能的优化 不让浏览器因为如此高频的事件 而造成大量性能损失

在这里我们需要用到 防抖函数 

定义:事件触发多次后,处理函数只执行一次,且在事件触发完成操作结束时执行。

原理:对处理函数进行延时操作,若设定的延时到来之前,再次触发事件,则清除上一次的延时操作定时器,重新定时。

 Vue - lodash - npm

lodash

是一个一致性、模块化、高性能的 JavaScript 实用工具库。

官网地址:https://www.lodashjs.com/

安装

$ npm i -S lodash-webpack-plugin babel-plugin-lodash babel-core babel-loader babel-preset-es2015 webpack

使用

import lodash from "lodash"

method 作为一个方法

调用的话 可通过watch 观察某个状态变化 判定条件 调用 此方法

输入时即

最后效果

自动保存   获取 当前 时分秒 

工具栏激活

其实当我们点击小工具栏时 打开 Element 可以看到 当前元素已经添加了活跃状态class

相对应的 点开他的child  设置一个你中意的颜色 并将层级提高到最高 覆盖原色 即可

基本功能便是这些 后续扩展 继续更新

最近脑海里常蹦出两个词

恋爱 婚姻

只得出一个经典的结论

恋爱是两个人的事情

婚姻是两个家庭的事情

.....

细想几番

确是如此

两人契合已是难事

家庭契合

更是难上加难

男上加男

沟通

是我认为在两个家庭中面临的首要问题

何解

唯有找各种成分差不多类似的两个家庭

组成一个家庭

在抖音上听过这么一句话

结婚

就像经营公司

双方各派一个法人代表

一拍即合

开一个公司

然后生下的儿子

即 产品

经营个5/6吧

若是经营不佳

公司破产倒闭

法人离开

剩下产品

何去何从

。。。。。

这其中

爱情

充当什么角色

占多大股........

呢--------------

最后

笑口常开:)

好彩自然来:)

祝君好运~~~~

Vue 富文本wangEditor3 (自动保存 快捷保存 激活工具栏...相关推荐

  1. Vue 富文本编辑器插件 vue-quill-editor 坑!

    Vue3 + vue-quill-editor 安装步骤: vue3 安装vue-quill-editor npm install @vueup/vue-quill vue2 安装vue-quill- ...

  2. vue 富文本 quill 编辑器,实现图片上传到服务器,以及实时字数统计

    vue 富文本 quill 编辑器,实现图片上传到服务器,以及实时字数统计 写在前面 vue 富文本 quill / vue-quill-editor 如何使用 图片上传到服务器 实时字数统计 图片编 ...

  3. vue 富文本编辑器kindeditor使用粘贴图片自动上传图片功能

    Kindeditor 的使用这里不再陈述,在KindEditor.create执行时,传入afterCreate方法,在afterCreate的方法里面进行图片上传的功能,这里使用的谷歌浏览器,其他浏 ...

  4. vue富文本编辑器 Vue-Quill-Editor

    主流富文本编辑器对比 前言:vue中很多项目都需要用到富文本编辑器,在使用了ueditor和tinymce后,发现并不理想.所以果断使用vue-quill-editor来实现. wangEditor( ...

  5. vue 富文本 样式添加不上_vue结合ueditor富文本编辑器(换肤分离)

    需求 (PC端用它互不直曾经明以机会式近分扯.多接相常)做一个可以使用图片上传.视频上传.文件上传功能的富文本组件,简单的文本编辑发布功能,采用socke览页些求时是过解些这确如目前例总站回广随能4果 ...

  6. Vue富文本编辑器vue-quill-editor-使用-bug问题-教程

    vue-quill-editor npm install vue-quill-editor –save or yarn add vue-quill-editor 文件中使用 <template& ...

  7. Element Tiptap Editor - 免费开源的 Vue 富文本编辑器,专门为搭配 Element UI 使用优化,使用很简单

    一款很容易上手配置的富文本编辑器,和 Element plus 一起使用效果非常好,还能自定义功能. 关于 Element Tiptap Editor Element Tiptap Editor 是一 ...

  8. TinyMCE富文本编辑器自动链接插件 AutoLink配置

    TinyMCE富文本编辑器 AutoLink 插件默认是不支持全角字符的,意味着你就算是全角字符,也必须要在字符后面跟随一个空格,然后再跟随网址,这时候地址才会自动转换为超链接 a 标签 通过如下设置 ...

  9. vue富文本编辑器中样式冲突和不能修改的问题

    在vue项目中,富文本回显通常采用的是v-html指令来渲染html字符串.但是在回显的过程中,发现了一些问题,以此记录下来. 1.富文本(tinyMec)在编辑的时候采用的是iframe隔离,这样的 ...

最新文章

  1. C#编码标准--编码习惯
  2. 008_SpringBoot视图层技术jsp
  3. springboot 开发入门,及问题汇总
  4. mysql 设置某个字段等于某个字段_学习记录-第十八天(李玉婷MySQL基础 第12天)...
  5. 常规dll 的接口函数定义+客户端程序接口函数导入
  6. 95-260-055-源码-检查点-Savepoint 和 Checkpoint的异同
  7. matlab2016a 问题及解决方法记录
  8. yii2 提供接口给java_Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)...
  9. 使用Octave绘制正玄余玄函数
  10. 2018 华为软件精英挑战赛
  11. 为什么直播礼物特效越来越流行?
  12. 服务器lga771芯片组,LGA775主板改造用771 CPU教程
  13. 自动化测试——selenium(完结篇)
  14. 计算机IPv4升级到IPv6的技术,IPv4到IPv6的变化
  15. Verilog语言注意事项——always
  16. 牛客NC272 栈的压入、弹出序列
  17. jQuery中的get和post请求
  18. win11蓝牙无法使用 Windows11蓝牙无法使用的解决方法
  19. 定时器 java qua_kettle整合到web项目并运用quartz实现定时任务
  20. 70 个 Shell 脚本面试问题和答案

热门文章

  1. USB无法debug调试:because an app is obscuring a permission request settings cab't verify your resonse
  2. 我决定开始一段非凡事业--IOS开发
  3. SSO JA-SIG
  4. 超级详细:公网环境下登录 Docker 仓库: Docker Hub 或 国内阿里镜像仓库!超级解惑!(推送镜像到docker hub 或 国内阿里云镜像仓库)
  5. 我的专业和梦想计算机,2019,我们有很厉害的梦想与计划
  6. 探讨Linux CPU的上下文切换原由
  7. 基于html+css的内容旋转
  8. 微信小程序实现PDF预览功能——pdf.js(含源码解析)
  9. Ubuntu 16.04 amd64下deb安装gcc5.4和所有依赖
  10. 【Java基础】从Java语言层面理解BIO,NIO,AIO(二)