如何在 ng2-ace-editor 中禁用复制、粘贴和删除文本
How to disable Copy, Paste and Droping text in ng2-ace-editor
有什么方法可以在 ng2-ace-editor 中禁用复制、粘贴和删除文本。
https://github.com/fxmontigny/ng2-ace-editor 这是我在 angular 5 应用程序中使用的那个。
您可以在 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={}
要禁用剪贴板,请添加以下命令:
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)
找到人民币的答案
editor.container.addEventListener("contextmenu", function(e) {
e.preventDefault();
alert('success!');
return false;
}, false);
有什么方法可以在 ng2-ace-editor 中禁用复制、粘贴和删除文本。 https://github.com/fxmontigny/ng2-ace-editor 这是我在 angular 5 应用程序中使用的那个。
您可以在 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={}
要禁用剪贴板,请添加以下命令:
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)
找到人民币的答案
editor.container.addEventListener("contextmenu", function(e) {
e.preventDefault();
alert('success!');
return false;
}, false);