网站首页 > 技术文章 正文
提到富文本编辑器,可能前端童鞋并不陌生。今天我要推荐的富文本编辑器就是 CKEditor ,趁着最近项目的使用热劲,整理一些实用笔记,以备不时之需。
一、快速构建
按照官网指南,我们可以迅速的下载到适合项目的文件包,大致分为四种:
- 基础包
- 标准包
- 完整包
- 定制包
二、简单使用
当你下载好项目文件后,使用非常简单:
- 包含类库文件
- 创建 textarea
- 使用 CKEDITOR.replace() 替换存在的 textarea
参考代码如下:
三、关于插件
CKEditor 包含两类插件,一类是面板插件 Plugin,另一类是内容部分插件 Widget:
- CKEditor Plugin
- CKEditor Widget
四、CKEditor 获取 DOM 数据
我们可以通过 getDate() 来获取 DOM 元素,然后做一系列处理,之后填充会内容输入区。
这样的场景适合对输入内容有一些格式要求的情况,具体代码如下:
五、CKEditor 去除粘贴样式
有一种场景可能我们并不像保留用户直接贴进来的内容,所以这时候可以去除粘贴样式,也就是只保留纯文本:
六、CKEditor 监听 Undo 和 Redo 事件
除此为外,撤销和重做也是高频使用的操作,我们需要监听编辑器的 beforeCommandExec 事件:
七、CKEditor 如何处理撤回操作
场景:用户操作后,需要撤销之前的操作,做一次回退,但不能保留程序代码的过程。
var data = editor.getSnapshot(); editor.loadSnapshot( data );
八、设置光标位置
光标位置一直是富文本编辑器的难点,很多编辑器在进行多次组合操作后,都会出现光标异常的情况,这时候需要人工修正一下:
九、事件监听
我们可以监听 change 事件,还有编辑器处于何种模式下,譬如源码模式:
十、递归获取元素节点
获取元素节点,需要遍历 DOM 元素,所以需要用递归来实现,具体如下:
十一、如何处理选中的文本 Text
选中文本需要注意处理边界问题,我们可以拿到一些位置信息,然后个性化改造。当然,这取决于你是否要这么做:
十二、增加快捷键操作
如果要便捷操作,还需要添加插件 keystrokes :
十三、CKEditor4 和 CKEditor5
CK4很强大,但是属于上一个时代的产物,因为 CK5 已经基本完成,对比之下,主要有如下特点:
- 高扩展性和可用性
- 新的数据模型
- ES6支持
猜你喜欢
- 2024-09-27 富文本原理了解一下? 富文本格式是什么意思
- 2024-09-27 Ruby on Rails 作者的 WYSIWYG 编辑器 Trix 火了!
- 2024-09-27 富文本编辑器,还是Tinymce好一点?Angular/Vue集成最新版
- 2024-09-27 实现Word在线预览 world在线预览
- 2024-09-27 支持复制粘贴WORD公式的WEB编辑器
- 2024-09-27 vue实战025:配置TinyMCE富文本编辑器
- 2024-09-27 前端开发:百度开发的开源所见即所得富文本WEB编辑器(UEditor)
- 2024-09-27 Python项目中用富文本编辑器展示精美网页
- 2024-09-27 Squire – 简洁的 HTML5 富文本编辑器
- 2024-09-27 Thymeleaf+LayUI使用百度富文本编辑器(Ueditor)
你 发表评论:
欢迎- 05-10如何优化数据库和前端之间的交互?
- 05-10前端代码优化小秘籍(前端优化24条建议)
- 05-10VS Code当中的15个神仙插件,值得收藏
- 05-10如何自己开发一个Google浏览器插件?
- 05-10前端流行框架Vue3教程:14. 组件传递Props效验
- 05-10吃了一年的SU,最好用的插件都在这了
- 05-10前端必看!这款神器让网站界面告别千篇一律
- 05-10程序员请收好:10个非常有用的 Visual Studio Code 插件
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)