codemirror onKeyEvent не срабатывает

Я пытаюсь заставить codemirrors показывать функцию подсказки, чтобы работать. Мне удалось заставить ее работать с extraKeys, это нормально загружает функцию getHints, но я действительно хочу, чтобы она работала с onKeyEvent но это, похоже, ничего не делает, я даже не могу заставить его отправить предупреждающее сообщение

function getHints(cm) {
// find the words
}

$(document).ready(function(){
CodeMirror.registerHelper("hint", "logger", getHints);
CodeMirror.commands.autocomplete = function(cm) {
    cm.showHint({hint: CodeMirror.hint.logger});
  }
var editor = CodeMirror.fromTextArea(
    $("#log").get(0),
    {
        extraKeys: {"Ctrl": "autocomplete"},
        onKeyEvent: function(e, s) {
                var kc = s.keyCode;
                if (s.type == "keyup") {
                    if (kc != 38 && kc != 40 && kc != 13 && kc != 27 && kc != 32) {
                        alert(kc);
                        CodeMirror.commands.autocomplete(e);
                    }
                }
            }
    });
});

Вот с чем я играл, я понятия не имею, что я делаю неправильно, даже попытка использовать триггер jquerys, похоже, ничего не делает:/ http://jsfiddle.net/f2n74k3s/7/


person renlok    schedule 26.03.2015    source источник


Ответы (1)


onKeyEvent не существует в API CodeMirror. Следовательно, он гарантированно не сработает. Используйте extraKeys, он создан для таких задач.

person Marijn    schedule 27.03.2015
comment
Но это упоминается в руководстве пользователя, что это значит? codemirror.net/2/doc/manual.html - person renlok; 27.03.2015
comment
Это руководство для версии 2, которой более двух лет. - person Marijn; 27.03.2015