CKEditor通过js启用/禁用按钮

时间:2015-03-05 10:48:02

标签: javascript jquery ckeditor

我正在尝试禁用CKEditor工具栏中的某些按钮,这是我的代码

CKEDITOR.instances.MY_INSTANCE.commands.bold.disable();

它会在页面加载时禁用BOLD按钮,但是当我在CKEditor的编辑器区域内单击时,BOLD按钮被激活。另外,我尝试过CKEDITOR.instances.MY_INSTANCE.commands.bold.setState(CKEDITOR.TRISTATE_DISABLED);

但结果是一样的。有没有人遇到同样的问题?

PS。以及如何正确禁用文本转换按钮(例如 - capitilize),因为它需要几个参数

1 个答案:

答案 0 :(得分:2)

这很棘手,因为目前没有单一的入口点可以设置所有按钮状态。现在每个插件都可以设置按钮的状态,这将改变你的状态。但你可以监听state事件,每次状态改变时都会被触发:

var boldCommand = editor.getCommand( 'bold' );

boldCommand.on( 'state', function( evt ) {
    if( something ) {
        boldCommand.setState( CKEDITOR.TRISTATE_DISABLED );
    }
} );

问题是当你想重新启用按钮状态时,因为访问者可能很难设置你应该设置的状态,并且没有简单的解决方案来解决这个问题。您可以监听每个事件bold命令可以更改其状态(selectionChangemodereadOnly ...),保存按钮的状态并使用该状态时你重新启用它。有a ticket to make it simpler),但这是一项非常重要的任务。