Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开放式花括号的关键代码是什么{_Javascript_Jquery_Codemirror_Keycode - Fatal编程技术网

Javascript 开放式花括号的关键代码是什么{

Javascript 开放式花括号的关键代码是什么{,javascript,jquery,codemirror,keycode,Javascript,Jquery,Codemirror,Keycode,我正在创建一个带有自动完成系统的代码镜像实例,该系统将在任何按键时激活。但无论何时键入:{自动完成仍然会出现,即使有一条if语句阻止键代码219显示自动完成。我想停止{从打开“自动完成”菜单开始,用户通常会按Enter键下一行,但它会输入来自“自动完成”菜单的建议。 我已经尝试过使用charCode,但是没有用 这是我的密码: editor.on(“键控”,函数(cm,事件){ 如果(!cm.state.completionActive&&event.keyCode!=13&&event.key

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

这是我的密码:

editor.on(“键控”,函数(cm,事件){
如果(!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(“按键”,功能(cm,事件){
如果(!cm.state.completionActive&&event.charCode!=13&&event.charCode!=123){
CodeMirror.commands.autocomplete(cm,null,{completeSingle:false});
}
});

如果您不确定它是什么,请在web上查找它,或者只需将
event.keyCode
记录到console,然后按该键并查看它在ConsoleEyes中显示的内容,我已经这样做了,但它的输出与[请注意,添加不同的侦听器不会覆盖以前由apiNo设置的侦听器,您所说的条件是,
Enter
&{应该被按下,它应该是一个
|
,因为您不能同时按下
Enter和{
,这是两个不同的事件