редактор ace - просто повторно включите команду после ее отключения

Я хочу просто снова включить команду после того, как я ее отключил... Вот как я просто отключил ее:

editor.commands.removeCommand("backspace");


Но теперь мне нужно снова включить его, но я не знаю, как это сделать...

Я нашел что-то вроде это, но это очень сложно...

Есть ли способ просто повторно включить его?

Пожалуйста помоги..


person Community    schedule 25.07.2014    source источник


Ответы (1)


Вы можете сохранить ссылку на команду, чтобы добавить ее позже

var command = editor.commands.byName.backspace
editor.commands.removeCommand(command)
editor.commands.addCommand(command)

или удалить только ключ

function setCommandEnabled(editor, name, enabled) {
    var command = editor.commands.byName[name]
    if (!command.bindKeyOriginal) 
        command.bindKeyOriginal = command.bindKey
    command.bindKey = enabled ? command.bindKeyOriginal : null;
    editor.commands.addCommand(command);
    // special case for backspace and delete which will be called from
    // textarea if not handled by main commandb binding
    if (!enabled) {
        var key = command.bindKeyOriginal;
        if (key && typeof key == "object")
            key = key[editor.commands.platform];
        if (/backspace|delete/i.test(key))
            editor.commands.bindKey(key, "null")
    }
}

а потом позвони

setCommandEnabled(editor, "backspace", false)
setCommandEnabled(editor, "backspace", true)
person a user    schedule 25.07.2014