小指标
- 应用ts从零实现一个简略的富文本编辑器
- 初步实现“设置题目”,“加粗”,“设置色彩”这几个基本功能
常识筹备
contenteditable属性
给任何一个元素加上
contenteditable="true"
便可使其可编辑,由此为根底便可实现一个简略的富文本编辑器了。<div contenteditable="true"></div>
Document.execCommand()
当HTML文档切换到
designMode
时,它的文档对象将公开一个execCommand办法来运行操作以后可编辑区域的命令,如表单输出或可满足元素。document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)
实现过程
初始化我的项目
"lint": "eslint . --ext .js,.ts","build": "webpack --env production","start": "webpack-cli serve"
基于webpack搭建一个根底我的项目,
yarn start
用于本地开发。yarn build
用于构建生产文件。确定繁难富文本编辑器的调用形式
import Editor from '../src/editor';new Editor('#editor_root', { style: { height: '300px', },});
初始化编辑器构造
- 实现编辑器菜单
总结
- 繁难富文本编辑器的基本功能已实现
webpack
目前尚不反对export library 为es6 module
- 尚未增加单元测试
document.execCommand
已被标记为Obsolete
源码地址