我正在尝试禁用CKEditor工具栏中的某些按钮,这是我的代码
CKEDITOR.instances.MY_INSTANCE.commands.bold.disable();
它会在页面加载时禁用BOLD按钮,但是当我在CKEditor的编辑器区域内单击时,BOLD按钮被激活。另外,我尝试过CKEDITOR.instances.MY_INSTANCE.commands.bold.setState(CKEDITOR.TRISTATE_DISABLED);
但结果是一样的。有没有人遇到同样的问题?
PS。以及如何正确禁用文本转换按钮(例如 - capitilize),因为它需要几个参数
答案 0 :(得分:2)
这很棘手,因为目前没有单一的入口点可以设置所有按钮状态。现在每个插件都可以设置按钮的状态,这将改变你的状态。但你可以监听state
事件,每次状态改变时都会被触发:
var boldCommand = editor.getCommand( 'bold' );
boldCommand.on( 'state', function( evt ) {
if( something ) {
boldCommand.setState( CKEDITOR.TRISTATE_DISABLED );
}
} );
问题是当你想重新启用按钮状态时,因为访问者可能很难设置你应该设置的状态,并且没有简单的解决方案来解决这个问题。您可以监听每个事件bold
命令可以更改其状态(selectionChange
,mode
,readOnly
...),保存按钮的状态并使用该状态时你重新启用它。有a ticket to make it simpler),但这是一项非常重要的任务。