Javascript Ace编辑器-用于粘贴的自定义键绑定

Javascript Ace编辑器-用于粘贴的自定义键绑定,javascript,ace-editor,Javascript,Ace Editor,Ace中的粘贴功能当前通过事件处理。有没有办法为粘贴事件添加自定义密钥绑定?我尝试过以下方法,但没有这样的运气(请参阅): 可以识别密钥绑定(如控制台输出所示),但它似乎没有触发粘贴事件。使用普通javascript无法做到这一点。 在chrome上,您可以使用扩展名将您的站点列入白名单,然后调用document.execCommand(“粘贴”,null,null) cloud9是如何做到这一点的:,你不能通过JS粘贴,否则任何网站都可以窥探你的剪贴板,就像他们在IE6中一样…@dandavi

Ace中的粘贴功能当前通过事件处理。有没有办法为粘贴事件添加自定义密钥绑定?我尝试过以下方法,但没有这样的运气(请参阅):


可以识别密钥绑定(如控制台输出所示),但它似乎没有触发粘贴事件。

使用普通javascript无法做到这一点。 在chrome上,您可以使用扩展名将您的站点列入白名单,然后调用
document.execCommand(“粘贴”,null,null)


cloud9是如何做到这一点的:,

你不能通过JS粘贴,否则任何网站都可以窥探你的剪贴板,就像他们在IE6中一样…@dandavis那么Ace如何从剪贴板执行粘贴?我不熟悉,它什么时候粘贴?如果答案是“当你按下[ctrl]+[v]”,那么粘贴的是操作系统,而不是ACE。。。触发事件是粘贴的症状,而不是原因。现在我再仔细看一下,我不认为ace正在执行粘贴,而是捕获粘贴事件并执行操作()。我只想添加一个键绑定,用于在编辑器上触发粘贴事件(即,用户按下Ctrl-q,其行为就像用户按下Ctrl-v)我确切地知道您想要做什么,但很抱歉,这是不可能的,至少使用浏览器javascript。。。
editor.commands.addCommand({
  name: "customPaste",
  bindKey: {win: "Ctrl-q", mac: "Command-q"},
  exec: function(editor) { 
    console.log("customPaste");
    editor.session._emit('paste');
  }
});