我已经将 Code Mirror 作为插件实现到 CMS 系统中。

我有一个问题,如果我选择多行并按 Tab,这些行将被删除。

这不会发生在 Code Mirror 演示网站上。我找不到启用或禁用多重缩进的配置选项。

这是我的配置代码:

this.CodeArea = CodeMirror.fromTextArea(codeArea, {
    lineNumbers: true,
    mode: { name: "xml", htmlMode: true },
    onChange : function (editor) {
        editor.save();
    }
});

上下文:https://github.com/rsleggett/tridion-mirror/blob/master/src/BuildingBlocks.Tridion2011Extensions.CodeMirror/BuildingBlocks.Tridion2011Extensions.CodeMirror/Scripts/codemirror/codemirror.js

我不确定我错过了什么。有任何想法吗?

最佳答案

CodeMirror javascripts 在 your versiondemo version 之间有所不同:

在第 2036 行左右的演示版本中,您的版本中缺少以下代码块:

defaultTab: function(cm) {
    if (cm.somethingSelected()) cm.indentSelection("add");
    else cm.replaceSelection("\t", "end");
}

连同一堆与 CodeMirror.keyMap 相关的函数。

比较两者并合并缺失的位,或者只使用演示版中的脚本。

关于javascript - CodeMirror 2 : Multiple indent is deleting lines,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10690256/

10-12 12:53
查看更多