我正在使用 ace 编辑器,但无法以编程方式剪切和粘贴。对于Undo
和Redo
,我使用了以下代码。如何进行剪切和粘贴?
editor.getSession().getUndoManager().undo(false);
editor.getSession().getUndoManager().redo(false);
最佳答案
对于撤消,最好使用 editor.execCommand("undo")
(对于重做也类似)。
剪切和粘贴比较棘手,因为 ace 中的命令不会修改剪贴板。如果您只需要支持新浏览器,您可以按以下方式使用 navigator.clipboard:
// paste
navigator.clipboard.readText().then(function(text) {
editor.execCommand("paste", text)
})
// copy / cut
var text = editor.getCopyText()
editor.execCommand("copy") // or cut
navigator.clipboard.writeText(text)
旧浏览器处理起来比较棘手https://github.com/c9/core/blob/c4d1c59dc8d6619bdca3dbe740291cd5cd26352c/plugins/c9.ide.clipboard/html5.js
关于jquery - 在 Ace 编辑器中剪切和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59998538/