javascript - 自动完成第一行不应处于事件状态

标签 javascript autocomplete ace-editor

我仍在研究自动完成集成并发现了奇怪的行为。当我开始输入内容并显示自动完成弹出窗口时,我无法使用“Enter”移动到下一行,因为自动完成中的第一行始终处于事件状态。如何禁用此功能?

其外观如下:enter image description here

我只想在第五行留下“ace”一词,然后用“enter”转到第六行,但不能。

最佳答案

以下是我在 ext-language_tools.js 中所做的更改:

更改为 false

this.autoSelect = false; // changed from true

popup.setData = function(list) {
    popup.setValue(lang.stringRepeat("\n", list.length), -1);
    popup.data = list || [];
    popup.setRow(-1); // changed from 0
};

并添加了附加条件:

popup.setRow = function (line) {
    if (line == -1) // added
    {
        popup.selection.clearSelection();
        selectionMarker.start.row = selectionMarker.end.row = line;
        popup.session._emit("changeBackMarker");
        popup.moveCursorTo(line, 0);
        if (popup.isOpen)
            popup._signal("select");
    } else {
        line = Math.max(0, Math.min(this.data.length, line));
        if (selectionMarker.start.row != line) {
            popup.selection.clearSelection();
            selectionMarker.start.row = selectionMarker.end.row = line || 0;
            popup.session._emit("changeBackMarker");
            popup.moveCursorTo(line || 0, 0);
            if (popup.isOpen)
                popup._signal("select");
        }
    };
};

关于javascript - 自动完成第一行不应处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36056495/

相关文章:

javascript - 如何在删除重复项的同时合并对象数组

javascript - 创建用户姓名首字母作为计算可观察量

javascript - javascript 将数字除以小数

javascript - 未捕获的类型错误 : Cannot read property 'network' of undefined in Chrome Extension

javascript - ace-editor 代码突出显示对象符号

html - 禁用 Chrome 自动填充

mongodb - ElasticSearch自动完成返回0次

jquery 自动完成并使用 ajax 调用生成数组

ace-editor - 为 ace 编辑器设置值,而不选择整个编辑器

angular - Uncaught TypeError : ace. acequire 不是函数