带有HTML的Summernote createRange

时间:2018-01-11 09:37:46

标签: javascript html summernote

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

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

uiTIN.Click += (o, e) =>
{
    job();
};

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

private int job()
{
    BackgroundWorker worker = new BackgroundWorker();

    worker.DoWork += (s, e) =>
    {
        // Part of other function calls here omitted that don't need to run on the UI thread

        Dispatcher.Invoke(() =>
        {
            // Part of other function calls here omitted that must run on the UI thread
        });
    };

    worker.RunWorkerAsync();

    return 0;
}

使用HTML返回所有文本,但不是关于用户选择的文本。

有没有办法在summernote中获取所有HTML和格式的用户所选文本?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案-在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;