以下示例适用于 jQuery,但可以轻松更改为在纯 javascript 中运行。
第 1 步:
向您的文本区域添加一个类,例如quill-editor
:
<textarea name="input" placeholder="Textarea" class="form-control quill-editor">
<p>Hello World!</p>
<p>Some initial <strong>bold</strong> text</p>
<p><br></p>
</textarea>
第2步:
在 textarea 字段之后添加此 javascript 代码:
$('.quill-editor').each(function(i, el) {
var el = $(this), id = 'quilleditor-' + i, val = el.val(), editor_height = 200;
var div = $('<div/>').attr('id', id).css('height', editor_height + 'px').html(val);
el.addClass('d-none');
el.parent().append(div);
var quill = new Quill('#' + id, {
modules: { toolbar: true },
theme: 'snow'
});
quill.on('text-change', function() {
el.html(quill.getContents());
});
});
它将允许您添加任意数量的编辑器,并将更新其对应的文本区域。不需要其他代码。
这个怎么运作:
$('.quill-editor').each(function(i, el) {
//...
});
对于它找到的每个 quill-editor 类,
var el = $(this), id = 'quilleditor-' + i, val = el.val(), editor_height = 200;
var div = $('<div/>').attr('id', id).css('height', editor_height + 'px').html(val);
el.hide();
el.parent().append(div);
它将在 textarea 字段之后创建一个具有唯一 id 和固定高度的 div,将由 quill 编辑器实例使用。原始文本区域将被隐藏。
var quill = new Quill('#' + id, {
modules: { toolbar: true },
theme: 'snow'
});
一个新的 Quill 实例被启动,
quill.on('text-change', function() {
el.html(quill.getContents());
});
当其内容发生变化时,textarea 字段将得到更新。