大括号{的关键代码是什么

时间:2019-03-30 18:39:57

标签: javascript jquery codemirror keycode

我正在创建一个具有自动完成系统的代码镜像实例,该实例将在任何按键上激活。但是,无论何时键入:{即使存在一条if语句阻止键代码219显示自动完成功能,自动完成功能仍然会出现。我要停止{的原因是无法打开自动完成菜单,原因是用户通常会按Enter向下一行,但是会自动添加建议。 我已经尝试过使用charCode,但这没用。

这是我的代码:

interval.end

我希望用户每次按{

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

2 个答案:

答案 0 :(得分:0)

您正在通过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});
        }
    });

答案 1 :(得分:0)

我想出了办法,将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});
            }
        });