我们正在使用 Code Mirror 在一个 Angular Web 应用程序中。目前,当用户选择了一段文本并稍后再次单击已选择的部分时,Code Mirror 会将选定区域的副本放入剪贴板。这不是我们想要的行为。我们希望通常情况下只取消选择文本。
我尝试捕获鼠标点击事件并返回 false 或将 codemirrorIgnore 设置为 true,但都没有起作用。我还尝试重新定义 "LeftDown" 的键映射,但找不到现有动作名称的信息。
有谁能帮忙吗?
以下是我尝试更改 KeyMap 的代码:
我尝试捕获鼠标点击事件并返回 false 或将 codemirrorIgnore 设置为 true,但都没有起作用。我还尝试重新定义 "LeftDown" 的键映射,但找不到现有动作名称的信息。
有谁能帮忙吗?
以下是我尝试更改 KeyMap 的代码:
$scope.editorOptions = {
lineWrapping: true,
lineNumbers: true,
smartIndent: true,
autoCloseTags: true,
cursorScrollMargin: 25,
styleActiveLine: true,
mode: "text/html",
theme: "default",
matchBrackets: true,
matchTags: {
bothTags: true
},
extraKeys: {
"F11": function (cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function (cm) {
if (cm.getOption("fullScreen")) {
cm.setOption("fullScreen", false);
}
},
//Don't know where "autocomple", "findPersistent" are defined so I can see what is available
"LeftClick": "LeftClick",
"Ctrl-Space": "autocomplete",
"Alt-B": "findPersistent",
"Ctrl-J": "toMatchingTag"
},
viewportMargin: 10,
textWrapping: true
};
我也尝试使用了ui-codemirror="{ onLoad : codemirrorLoaded }"
并使用以下代码:
$scope.codemirrorLoaded = function(_editor) {
_editor.on("mouseDown", function(cm, event) {
cm.codemirrorIgnore = true;
//also tried return false
}
};
返回false没有起到任何作用,将codemirrorIgnore
设置为true可以防止左键单击执行任何操作。