事件机制

实现ckeditor自定义事件机制,是ckeditor最核心的代码。

过滤器

在HTML解析器和ckeditor事件机制的基础上,根据配置,实现过滤

html解析器

调用封装domAPI,实现遍历dom等功能,供上层调用

dom封装

封装原生浏览器dom,屏蔽各浏览器差异。

插件机制

在ckeditor平台封装了原生dom,过滤器,html解析器,事件机制的基础上,实现自定义业务逻辑。

总结

ckedtor通过设置contenteditable=true,利用浏览器完成word等dom的转换,监听并暴露浏览器事件,供插件开发人员自定义格式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
     | 插件机制   |
————————————
|
|
|
|
----------- ----------- _____________
| 操作 |--------->| ckeditor |<-------------------------|浏览器 |
——————————— ———————————— ——————————————
| |
| |
| |
| |
| |
—————————————— |
| 过滤器 | |
———————————————— |
| |
| |
| |
| |
______________ |
| html解析器 | |
_______________ |
| |
| |
| |
| |
_______________ _______________
| dom封装 | <------------------- | domapi |
_____________ _______________
| |
| |
| |
_______________ ——————————————
| 事件机制 | <-------------------| 浏览器原生事件|
________________ ——————————————————