Javascript CodeMirror:捕捉回车键可防止换行

Javascript CodeMirror:捕捉回车键可防止换行,javascript,codemirror,Javascript,Codemirror,我使用CodeMirror 3.12的extraKeys选项来检测用户何时开始新行: extraKeys: { "Enter": onNewLine } onNewLine()只执行console.log()操作。现在CodeMirror忽略了这个键。你不能再开始新的生产线了。有没有一种方法可以在不干扰CodeMirror内部结构的情况下在新行事件上连接其他功能?我只想分析最近结束的行的文本。在onNewLine函数的末尾添加换行符。 这应该行得通 function onNewLin

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

extraKeys: {
    "Enter": onNewLine
}

onNewLine()只执行console.log()操作。现在CodeMirror忽略了这个键。你不能再开始新的生产线了。有没有一种方法可以在不干扰CodeMirror内部结构的情况下在新行事件上连接其他功能?我只想分析最近结束的行的文本。

在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以指示它已决定不处理该密钥,其他处理程序(或默认行为)应被调用


即使处理程序确实执行了一个操作,这似乎也是有效的。在我的例子中,当用户按下enter键时,我正在使用editor.indentLine函数缩进当前行。

是否尝试了其他按键事件以确保仅此事件不起作用?看看这篇文章,也许这对你有帮助