我无法禁用某些CKEditor按钮。基本上,我想循环遍历所有加载的命令并在运行时禁用它们,以便它们表示为灰色按钮。这是我执行此操作的代码:
for (var key in CKEDITOR.instances.editor1.commands) {
if (CKEDITOR.instances.editor1.commands.hasOwnProperty(key)) {
console.log("disabling command " + key);
CKEDITOR.instances.editor1.commands[key].disable();
}
}
我的CKEditor设置使用图像,背景颜色,粗体,斜体,下划线,插入/删除项目符号列表,复制和粘贴插件。但是,通过此方法实际禁用的唯一按钮是图像按钮;其他人保持启用状态,即使我没有看到任何错误,我的console.log也会为每个人开火。
非常感谢任何建议。
答案 0 :(得分:1)
你想做什么很棘手。即使被禁用,某些命令(context sensitive ones)也会立即在selectionChange
event上重新启用,因为它们会观察用户操作并检查它们是否适用于考虑当前选择(即cut
命令等待对于某些非折叠选择的创建)。
如果要完全禁用编辑,则应使用editor.setReadOnly()
。但是,如果要禁用命令并让用户键入,则需要进行一些黑客操作,因为这与WYSIWYG编辑器的用法完全相反。