我正在创建一个具有自动完成系统的代码镜像实例,该实例将在任何按键上激活。但是,无论何时键入:{即使存在一条if语句阻止键代码219显示自动完成功能,自动完成功能仍然会出现。我要停止{的原因是无法打开自动完成菜单,原因是用户通常会按Enter向下一行,但是会自动添加建议。 我已经尝试过使用charCode,但这没用。
这是我的代码:
interval.end
我希望用户每次按{
时都不要在codemirror中打开自动完成菜单答案 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});
}
});