2016-02-14 85 views
1

我使用的是summernote wysiwyg编辑器,我需要插入引号。 在文档中,我没有找到方法如何插入这样的东西,我试着用insertNode,但它返回未捕获TypeError:无法读取属性'toUpperCase'的未定义只有这样,我发现insertNode只适用于空document.createElement 。Summernote insert quote

我试着用summernote('code',quote);但它只是取代内容。我甚至试图创建新的元素,添加类和添加内容,但仍相同toUpperCase错误。

这是我已经试过的东西。

function quote(post) { 
    var entry = $(post), 
     author = entry.find('.quotable-author').text(), 
     date = entry.find('.quotable-date').text(), 
     content = entry.find('.quotable-content').html(), 
     quote = '<blockquote class="quote">' + content + '<footer>' + author + ' - ' + date + '</footer></blockquote>'; 

    $('.editor').summernote('insertNode', quote); 
} 

在summernote中可以这样做吗?还是应该搜索另一个wysiwyg编辑器?

回答

2

insertNode将第一个参数作为元素而不是字符串。你可以很容易地用jQuery创建元素。

var quote = $('<blockquote class="quote">hello<footer>world</footer></blockquote>')[0]; 
$('.editor').summernote('insertNode', quote); 

http://summernote.org/deep-dive/#insertnode

+0

谢谢,这个工作,但为什么它返回遗漏的类型错误:报价是不是下一次我想使用该功能在同一个页面相同的编辑功能? – allyfai

+0

我不明白你的答案。请解释更多细节。 –

+0

即时通讯使用该函数引用将编辑后的帖子添加到编辑器作品中,就像这样quote me在第一次插入时它像魅力一样工作,但在下一个或其他人只是返回引号不是函数。 – allyfai