使用Quill.js在光标位置插入文本

时间:2014-05-14 17:56:30

标签: javascript rich-text-editor quill

我正在尝试向quill.js添加自定义功能("模块"),但似乎无法做到。这就是我需要的:

如果想要添加一个插入模板替换变量的按钮...说 像{{company}}这样的东西在光标的位置 编辑,目前可能与API - 我以为我能做到 它使用insertText但我似乎无法让它工作。

由于

3 个答案:

答案 0 :(得分:8)

您应该能够使用insertText执行此操作,但您可能需要使用getSelection来获取光标位置。 getSelection返回的对象将具有索引和长度键。添加按钮和必要的单击处理程序将取决于实现者。注意焦点应该在使用focus调用getSelection之前返回给编辑器,或者只是将true传递给getSelection。

答案 1 :(得分:1)

我最终在一个非常相似的设置中做了什么:

let mergeFieldText = '{{company}}';
var selection = this._quill.getSelection(true);
this._quill.insertText(selection.index, mergeFieldText);

答案 2 :(得分:1)

此代码段是使用Quill.js的自定义按钮在光标位置添加符号。

首先声明羽毛笔变量:

var quill = new Quill('.editor', {
    theme: 'snow'
});

通过单击按钮事件,在插入符号位置添加符号。

$('.symbols').click(function(){
    quill.focus();
    var symbol = $(this).html();
    var caretPosition = quill.getSelection(true);
    quill.insertText(caretPosition, symbol);
});