Summernote createRange 与 HTML

Posted

技术标签:

【中文标题】Summernote createRange 与 HTML【英文标题】:Summernote createRange with HTML 【发布时间】:2018-06-20 14:07:25 【问题描述】:

我的summernote 编辑器中的一些文本包含html。我想得到用户选择的文本,就像在编辑器中一样。

到目前为止我看到的所有答案都告诉我使用这个

$('#summernote').summernote('createRange').toString()

但它会从选择中删除所有现有的 HTML。这个:

$('#summernote').summernote('code')

返回所有带有 HTML 的文本,但不考虑用户选择的文本。

有没有办法让用户在summernote中选择包含所有HTML和格式的文本?

【问题讨论】:

【参考方案1】:

这是我的解决方案 - 在 html 变量中输出。

var range = $('#summernote').summernote('createRange');
var nodes = range.nodes();
var div = document.createElement('div');
for (i=0; i<nodes.length; ++i) 
    div.appendChild(nodes[i].cloneNode(true));

var html = div.innerHTML;

【讨论】:

以上是关于Summernote createRange 与 HTML的主要内容,如果未能解决你的问题,请参考以下文章

将summernote与vuejs一起使用

将 Summernote 编辑器与 Meteor 一起使用

自定义 Summernote 按钮以创建与类的链接

DOM中的范围 createRange()

开玩笑测试 - TypeError:document.createRange 不是函数

summernote 0.8.8 onimageupload 示例