CodeMirror:捕捉回车键防止换行

CodeMirror: Catching Enter Key prevents line breaks

本文关键字:换行 回车 CodeMirror      更新时间:2023-09-26

我使用CodeMirror 3.12的extrakeyss选项来检测用户何时开始新行:

extraKeys: {
    "Enter": onNewLine
}

onNewLine()只执行console.log()。现在codemmirror忽略了这个键。你不能再开一条新线了。是否有一种方法可以在不干扰CodeMirror内部的情况下,在new-line-event上连接额外的功能?我只是想分析一下最近关闭的行

在onNewLine函数的末尾添加一个换行符。这应该可以工作

 function onNewLine(e){
    console.log(e);
    editor.replaceSelection("'n" ,"end");
  }

我发现返回CodeMirror。Pass也可以:

function onNewLine(e) {
    console.log("Enter key was pressed!");
    return CodeMirror.Pass;
}

来自文档:

键处理函数可能返回CodeMirror。Pass表示它已决定不处理该键,并且应该给其他处理程序(或默认行为)一个机会。

即使处理程序执行操作,这似乎也可以工作。我用的是编辑器。当用户按下回车键时缩进当前行。