我有一个令人满意的编辑器,我正在试图弄清楚如何正确地粘贴。我试过这么简单:
self.editorIframeDocument.addEventListener('paste', function () {
setTimeout(function () {
_setText(self.editor, _getText(self.editor));
}, 1);
});
editorIframeDocument
==符合条件的document
。
_setText
是一个内部函数,用于清除整个代码中使用的输入。
_getText
只有innerText
才可以,或者当它无法填充(Firefox)。
所以,问题是,粘贴光标后移动。例如:
+==========+
+ |
+ WORD
+
+===========
如果我在那里粘贴WORD
(假装它是编辑器),光标会在你看到它上面的管道的地方结束。
如何始终将光标放在用户粘贴的 end 上,或者确保前一个光标位置。我看到我可以在extendOffset
中使用Selection
属性,但我不确定如何。我也尝试过collapseToEnd
,但这会将光标放在整个编辑器的末尾。
有什么想法吗?如果您需要完整的源代码:https://github.com/OscarGodson/EpicEditor/blob/feature/ticket-100/src/editor.js
它在分支feature/ticket-100