我有一个可编辑的编辑器,我正试图弄清楚如何让粘贴正常工作。我尝试了简单的:
self.editorIframeDocument.addEventListener('paste', function () {
setTimeout(function () {
_setText(self.editor, _getText(self.editor));
}, 1);
});
editorIframeDocument
== 内容可编辑document
。
_setText
是一个内部函数,用于清理整个代码中使用的输入。
_getText
只是innerText
当它可以时,或者当它不能时(Firefox)。
所以,问题是,在粘贴光标移动时。例如:
+==========+
+ |
+ WORD
+
+===========
如果我粘贴WORD
到那里(假装它是编辑器),光标会出现在您看到它上方的管道的位置。
我怎样才能始终将光标放在用户粘贴的末尾,或者准确地说是前一个光标位置。我看到我可以在 中使用extendOffset
属性Selection
,但我不确定如何。我也尝试过这样做collapseToEnd
,但这会将光标放在整个编辑器的末尾。
有任何想法吗?如果您想要完整的源代码:https ://github.com/OscarGodson/EpicEditor/blob/feature/ticket-100/src/editor.js
它在分行feature/ticket-100