只需重新启用命令后,禁用它

simply re-enable command after disabled it

本文关键字:命令 启用 新启用      更新时间:2023-09-26

我想在禁用命令后简单地重新启用它…下面是我禁用它的方法:

editor.commands.removeCommand("backspace");


但现在我需要再次启用它,但我不知道该怎么做…

我找到了类似这样的东西,但是很难…

是否有一种方法可以简单地重新启用它?

请帮. .

您可以保留对该命令的引用,以便稍后将其添加回去

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)