如何在ng2-ace-editor中禁用复制,粘贴和拖放文本

时间:2018-07-12 11:26:27

标签: angular typescript ace-editor

有什么方法可以禁用ng2-ace-editor中的复制,粘贴和删除文本。 https://github.com/fxmontigny/ng2-ace-editor这是我在我的angular 5应用程序中使用的版本。

3 个答案:

答案 0 :(得分:1)

要禁用剪贴板,请添加以下命令:

editor.commands.addCommand({
    name: "breakTheEditor", 
    bindKey: "ctrl-c|ctrl-v|ctrl-x|ctrl-shift-v|shift-del|cmd-c|cmd-v|cmd-x", 
    exec: function() {} 
});

禁止拖动使用

![
    "dragenter", "dragover", "dragend", "dragstart", "dragleave", "drop"
].forEach(function(eventName) {
    editor.container.addEventListener(eventName, function(e) {
        e.stopPropagation()
    }, true)
});
editor.setOption("dragEnabled", false)

答案 1 :(得分:0)

您可以从github https://github.com/ajaxorg/ace/issues/266

上受益于此问题

隐藏光标和行高亮

editor.setOptions({
    readOnly: true,
    highlightActiveLine: false,
    highlightGutterLine: false
})

editor.renderer.$cursorLayer.element.style.opacity=0 使编辑器不可标签

editor.textInput.getElement().tabIndex=-1

editor.textInput.getElement().disabled=true

禁用所有快捷方式

editor.commands.commmandKeyBinding={}

答案 2 :(得分:0)

找到了人民币right here的答案

editor.container.addEventListener("contextmenu", function(e) {
    e.preventDefault();
    alert('success!');
    return false;
}, false);