Как использовать inner HTML или innerText для вставки в редактор Evernote, который является редактором форматированного текста? - PullRequest
0 голосов
/ 26 мая 2020

Я использую код Jayant в этом посте how-to-insert-text-into-the-textarea-at-the-current-cursor-position для вставки в редактор Evernote.

Поскольку редактор Evernote является редактором форматированного текста, я меняю el.value на el.innerText, когда я запускаю его, исходное форматирование нарушается, и новый текст не там, где находится курсор, он всегда вставляется в верхняя строка редактора.

Итак, как использовать внутренний HTML или innerText для вставки в редактор Evernote?

function typeInTextarea(newText, el = document.activeElement) {
  const start = el.selectionStart
  const end = el.selectionEnd
  const text = el.innerText
  const before = text.substring(0, start)
  const after  = text.substring(end, text.length)
  el.innerText = (before + newText + after)
  el.selectionStart = el.selectionEnd = start + newText.length
  el.focus()
}

1 Ответ

0 голосов
/ 27 мая 2020

Используйте этот код и проверьте его в редакторе WYSIWYG HTML в Chrome, он работает.

document.execCommand("insertText", "false", text);

...