2015-04-16 52 views
2

Ace中的粘貼功能目前是通過事件處理的。有沒有辦法爲粘貼事件添加自定義鍵綁定?我已經試過沒有這樣的運氣以下(見here):Ace編輯器 - 用於粘貼的自定義KeyBind

editor.commands.addCommand({ 
    name: "customPaste", 
    bindKey: {win: "Ctrl-q", mac: "Command-q"}, 
    exec: function(editor) { 
    console.log("customPaste"); 
    editor.session._emit('paste'); 
    } 
}); 

鍵綁定被識別(由控制檯輸出所示),但它似乎並沒有被觸發粘貼事件。

+0

無法通過JS粘貼,否則任何網站可以窺探你的剪貼板,就像他們曾經能夠在IE6中...... – dandavis

+0

@dandavis那麼Ace如何從剪貼板執行粘貼? –

+0

我不熟悉,它什麼時候粘貼?如果答案是「當你按[ctrl] + [v]」時,那麼它就是操作系統正在進行粘貼,而不是ACE ......事件的觸發是粘貼的症狀,而不是原因。 – dandavis

回答

3

有沒有辦法使用普通的JavaScript來做到這一點。 在Chrome可以使用擴展列入白名單,您的網站,然後調用document.execCommand("paste", null, null)

這裏的CLOUD9請問是:extensionexecCommand