如何使用innerHTML或innerText插入印象笔记富文本编辑器?
How to use innerHTML or innerText to insert into the Evernote editor which is the rich text editor?
我在这个 post how-to-insert-text-into-the-textarea-at-the-current-cursor-position 中使用 Jayant 的代码插入到 Evernote 编辑器中。
由于印象笔记编辑器是富文本编辑器,所以我把el.value改成了el.innerText,运行的时候,原来的格式打乱了,新的文字没有了光标所在的位置,它总是插入到编辑器的顶行。
那么如何使用innerHTML或innerText插入到印象笔记编辑器中呢?
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()
}
使用此代码并在 Chrome 中的 WYSIWYG HTML 编辑器中进行测试,它有效。
document.execCommand("insertText", "false", text);
我在这个 post how-to-insert-text-into-the-textarea-at-the-current-cursor-position 中使用 Jayant 的代码插入到 Evernote 编辑器中。
由于印象笔记编辑器是富文本编辑器,所以我把el.value改成了el.innerText,运行的时候,原来的格式打乱了,新的文字没有了光标所在的位置,它总是插入到编辑器的顶行。
那么如何使用innerHTML或innerText插入到印象笔记编辑器中呢?
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()
}
使用此代码并在 Chrome 中的 WYSIWYG HTML 编辑器中进行测试,它有效。
document.execCommand("insertText", "false", text);