Я использую Summernote rich text editor на странице. Я пытаюсь сделать некоторые настройки для выбранного текста в редакторе. Я могу успешно применить свои настройки в первом элементе, который я выбираю. Однако он не подходит для последующих элементов. Я создал Fiddle, который доступен here.Получение выбранного содержания в Summernote
шаги, чтобы воспроизвести мою проблему, являются:
- Enter "Это первый тег."
- Дважды щелкните по слову «первым».
- С выбранным словом «first» нажмите кнопку «ENGAGE» на панели инструментов.
- Обратите внимание, что слово «первым» выделено желтым цветом. Это поведение, которое я ожидаю.
- Теперь введите «Это второй тег». после существующего текста в текстовом редакторе.
- Дважды щелкните по слову «второй».
- Выбрав слово «второй», нажмите кнопку «ENGAGE» на панели инструментов.
- Обратите внимание, что текст в текстовом редакторе становится все испорченным.
Я ожидал, что слово «второе» также будет выделено, и применим мой собственный атрибут HTML, как это произошло, когда я сделал это в первый раз. Еще раз, скрипка here и соответствующий код выглядит следующим образом:
var myEditor = $('#myEditor');
$(myEditor).summernote({
height:200,
toolbar: [
['style', ['bold', 'italic', 'underline', 'clear']],
],
callbacks: {
onInit: function() {
var customButton = '<div class="note-file btn-group">' +
'<button id="myButton" type="button" class="btn btn-default btn-sm btn-small" title="My Trigger" tabindex="-1">engage</button>' +
'</div>';
$(customButton).appendTo($('.note-toolbar'));
$('#myButton').click(function(event) {
var editor = $('#myEditor');
if (editor.summernote('isEmpty') === false) {
var r = editor.summernote('createRange');
var c = editor.summernote('code');
var s1 = c.substring(0, r.so);
var s2 = '<span style="background-color:yellow;" data-tag-index="' + tags.length +'">' + r.toString() + '</span>';
tags.push(r.toString());
var s3 = c.substring(r.eo);
var modified = s1 + s2 + s3;
$('#myEditor').summernote('code', modified);
$('#results').val(modified);
}
});
}
}
});
Почему это не работает? Что я делаю не так?
Awesome! Спасибо – user70192
приветствую :) –