Javascript 覆盖Quill.js优化过程,以允许分别拥有两个consequentive标记(未连接) 你好
在Quill富文本编辑器中,我非常需要两个consequentive标记,如下所示:Javascript 覆盖Quill.js优化过程,以允许分别拥有两个consequentive标记(未连接) 你好,javascript,vue.js,rich-text-editor,quill,devextreme,Javascript,Vue.js,Rich Text Editor,Quill,Devextreme,在Quill富文本编辑器中,我非常需要两个consequentive标记,如下所示: 虚拟:一种斜体格式,另一种斜体格式。假人 我在羽毛笔中得到的是: 虚拟:一种斜体格式,另一种斜体格式。假人 我正试图覆盖Quill.js库的自然行为,因为情况非常清楚: 由于文本和文本代表相同的内容,因此前者无效,展开是Quill优化过程的一部分。类似地,一旦我们添加了格式,Test和Test也无效,因为它们不是最紧凑的表示形式 由于这些限制,Quill无法支持任意DOM树和HTML更改。但正如我们将看到的
虚拟:一种斜体格式,另一种斜体格式。假人
我在羽毛笔中得到的是:
虚拟:一种斜体格式,另一种斜体格式。假人
我正试图覆盖Quill.js库的自然行为,因为情况非常清楚:
由于文本
和文本
代表相同的内容,因此前者无效,展开
是Quill优化过程的一部分。类似地,一旦我们添加了格式,Test
和Test
也无效,因为它们不是最紧凑的表示形式
由于这些限制,Quill无法支持任意DOM树和HTML更改。但正如我们将看到的,这种结构提供的一致性和可预测性使我们能够轻松构建丰富的编辑体验
我所尝试的:
我主要尝试在中扩展italic blotcreate()
函数,方法如下:
- 将html属性附加到italic节点以区分两个标记(未成功,Quill仍将它们连接在一起):
从“纬管”导入纬管;
const originalialic=Quill.import(“格式/斜体”);
导出类MyItalic扩展了originalic{
静态创建(){
const node=super.create();
//这里有一些不相关的代码
setAttribute(“title”,斜体数字:#${previouslySetNumberHere}`);
//这里有更多不相关的逻辑
返回节点;
}
}
羽毛笔寄存器(“格式/斜体”,MyItalic,true);
- 用于在每个斜体后面插入文本节点。
但是
create()。它所做的只是返回插入的节点,以便在函数执行期间它还没有连接。因此,我无法在不存在的节点之后插入。由于这种推理,我简化了这个想法
- 将italic
标记名
属性更改为不同的、受支持的HTML标记,希望Quill能够解决我的问题,我尝试了
,
,
,
(由于是块blot而不是内联blot,),以及其他方法。同样不成功的结果(套筒连接它们)
卡在一起
可能相关信息:
我正在将Vue.js与DevExtreme一起使用。我的富文本编辑器是Devextreme widget,但它是由Quill驱动的,我已经成功地用这种方法扩展了我的项目中的其他东西(Quill直接扩展,而不是widget本身,不过我也这么做了)你有什么解决方案吗