5

我想知道如何使用 jQuery 或 JavaScript 重置或清除引导 Summernote 所见即所得编辑器。

我试过下面的代码

$('#MyForm').delay(1000).resetForm(1000);

此剂量重置了整个表单,除了带有 Summernote 的文本区域

$('#SummernoteText').reset();

SummernoteText 是 html 文本区域,但代码根本不做任何事情。

$('#SummernoteText').destroy();

以上似乎破坏了编辑器而不是清除编辑器。

有人可以指出我这样做的方法。

链接到 Summernote http://summernote.org/#/

4

5 回答 5

13

有点晚了,但只是补充一下:


选项1:

$('#SummernoteText').summernote('reset');

此解决方案仅在您的编辑器最初为空时才有效

这会将您的编辑器重置为其原始状态。这意味着,如果您使用任何数据对其进行初始化,相同的数据将在重置时重新出现。


选项 2:

$('#SummernoteText').summernote('code', '<p><br></p>');

添加<p><br></p>标签而不是简单的原因''是summernote编辑区域需要​​它来获得焦点。(参考)

于 2018-10-19T08:58:43.720 回答
6

对于 Summernote 0.8.1 版本,请使用以下简单代码:

$("#SummernoteText").summernote("reset");
于 2018-05-25T20:54:41.757 回答
4
$('#SummernoteText').code('');
于 2015-05-14T20:41:54.363 回答
3

您可以将自定义按钮构建到编辑器本身的工具栏中,如下所示:

//first create the button
var clearAllButton = function (context)
{
    var ui = $.summernote.ui;

    // create button
    var button = ui.button({
        contents: '<b>x</b>',
        tooltip: 'Clear All',
        click: function()
        {
            $("#summernote_field").summernote('code', '');
            $("#summernote_field").summernote({focus: true});
        }
    });

    return button.render();
};

//now set the options to include it
$('#summernote_field').summernote({
    toolbar: [
    .
    .
    .
    .
    ['misc', ['clearAll']]
    ],

    buttons: {
        clearAll: clearAllButton
    },

});
于 2017-07-20T01:32:54.807 回答
0

这是用summernote 0.8.2测试的。

如果您将 Summernote 元素定义为

<textarea id="your-text-area-id" name="your-text-area-name" ></textarea>
<div class="summernote" id="summer-note-text-id"></div>

然后你可以使用空白文本

$("#summer-note-text-id").summernote("code", "");

@naribo 的答案更详细地说明了要设置的值,而不仅仅是“”。

于 2021-05-26T09:15:13.517 回答