Вставка текста в положение курсора с помощью Quill.js
Я пытаюсь добавить пользовательский кусок функциональности ( "модуль" ) к quill.js и не могу это сделать. Вот что мне нужно:
Если вы хотите добавить кнопку, которая вставляет переменную замены шаблона... скажем
что-то вроде {{company}} в месте расположения курсора в
редактор, это то, что в настоящее время возможно с API - я думал, что могу сделать
он использует insertText, но я не могу заставить его работать.
Спасибо
Ответы
Ответ 1
Вы должны иметь возможность сделать это с помощью insertText, но вам может понадобиться использовать getSelection, чтобы получить местоположение курсора. Объект, возвращенный getSelection, будет иметь ключ индекса и длины. Добавление кнопки и необходимого обработчика клика зависит от разработчика. Обратите внимание, что фокус должен быть возвращен обратно редактору перед вызовом getSelection с помощью focus или просто передать true в getSelection.
Ответ 2
То, что я закончил в очень похожей обстановке:
let mergeFieldText = '{{company}}';
var selection = this._quill.getSelection(true);
this._quill.insertText(selection.index, mergeFieldText);
Ответ 3
Этот фрагмент кода предназначен для добавления символа в позицию курсора с помощью пользовательской кнопки с Quill.js.
Сначала объявите переменную quill:
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);
});