左大括号 { 的键码是什么

What is the keycode for the open curly brace {

我正在创建一个带有自动完成系统的代码镜像实例,该系统将在任意按键时激活。但是每当您键入: { 即使有 if 语句阻止键代码 219 显示自动完成,自动完成仍然会出现。我想阻止 { 打开自动完成菜单的原因是用户通常会按 Enter 键进入一行,但它会输入自动完成的建议。 我已经尝试过使用 charCode 但没有用。

这是我的代码:

editor.on("keyup", function (cm, event) {
            if (!cm.state.completionActive && event.keyCode != 13 && event.keyCode != 219) { 
                CodeMirror.commands.autocomplete(cm, null, {completeSingle: false});
            }
        });

我希望它在用户按下 {

时不在 codemirror 中打开自动完成菜单

您正在使用 && 和 Enter 键和 { 所以它永远不会进入 if 条件

editor.on("keyup", function (cm, event) {
        if (!cm.state.completionActive && (event.keyCode != 13 || event.charCode != 219)) { 
            CodeMirror.commands.autocomplete(cm, null, {completeSingle: false});
        }
    });

我通过将 keyCode 替换为 charCode 并将事件更改为 keypress 来解决这个问题。

editor.on("keypress", function (cm, event) {
            if (!cm.state.completionActive && event.charCode != 13 && event.charCode != 123) {
                CodeMirror.commands.autocomplete(cm, null, {completeSingle: false});
            }
        });