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