【问题标题】:Summernote wraps <p><br></p> for insertNode()Summernote 为 insertNode() 包装了 <p><br></p>
【发布时间】:2015-11-28 15:35:49
【问题描述】:

我正在尝试在编辑器中插入一个简单的img 标签。

jQuery('<img />').attr('src', '/uploads/images/' + res.data.filename);
jQuery('.summernote').summernote('insertNode', $image[0]);

我希望看到

<img src="/uploads/images/image.jpg" />

我得到的是

<p><br><img src="/uploads/images/image.jpg" /></p>

我什至将图像对象附加到段落对象中,但随后在节点前后得到&lt;p&gt;&lt;br&gt;&lt;/p&gt;

在插件源文件中没有明显看到这种行为。

有没有人应用自定义函数只插入普通节点?

【问题讨论】:

    标签: javascript summernote


    【解决方案1】:

    尝试使用“insertImage”函数而不是“insertNode”。
    这是文档: insertImage

    【讨论】:

    • 我最初使用的是insertImage()。不过,我理解它为什么现在这样做。
    【解决方案2】:

    了解为什么当我在新行上插入节点时它会添加包装器。只要我添加一个新行,它就在那里,它已经创建了包装器。

    【讨论】:

      【解决方案3】:

      在summernote 插件中进行调整。 我认为您可以在 Summernote.js 的第 873 行更改“空格”

      blankHTML = env.isMSIE && env.browserVersion < 11 ? '&nbsp;' : '<br>';
      

      例如

      blankHTML = '';
      

      更好的选择是将您的空白HTML 标签也添加到summernote。 (刚开始去summernote.js中的emptyPara标签。Summernote API制作精良且易于理解。但我不确定您是否可以在初始化summernote之前更改blankHTML。) 为他们的工作和所有在 github 上贡献插件的人喝彩。

      【讨论】:

        猜你喜欢
        • 2018-05-19
        • 2016-09-08
        • 2013-07-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        • 1970-01-01
        • 2011-07-14
        相关资源
        最近更新 更多