CKEditor enabling/disabling 按钮通过 js
CKEditor enabling/disabling buttons via js
我试图从 CKEditor 的工具栏中禁用一些按钮,这是我的代码
CKEDITOR.instances.MY_INSTANCE.commands.bold.disable();
它在页面加载时禁用粗体按钮,但是当我在 CKEditor 的编辑器区域中单击时,粗体按钮被激活。另外,我试过 CKEDITOR.instances.MY_INSTANCE.commands.bold.setState(CKEDITOR.TRISTATE_DISABLED);
但结果是一样的。有人遇到同样的问题吗?
ps。以及如何正确禁用文本转换按钮(f.e。-大写),因为它需要几个参数
这很棘手,因为目前没有一个入口点可以设置所有按钮状态。现在每个插件都可以设置按钮的状态,这将改变你的状态。但是你可以监听 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),但这是一个相当大的任务。
我试图从 CKEditor 的工具栏中禁用一些按钮,这是我的代码
CKEDITOR.instances.MY_INSTANCE.commands.bold.disable();
它在页面加载时禁用粗体按钮,但是当我在 CKEditor 的编辑器区域中单击时,粗体按钮被激活。另外,我试过 CKEDITOR.instances.MY_INSTANCE.commands.bold.setState(CKEDITOR.TRISTATE_DISABLED);
但结果是一样的。有人遇到同样的问题吗?
ps。以及如何正确禁用文本转换按钮(f.e。-大写),因为它需要几个参数
这很棘手,因为目前没有一个入口点可以设置所有按钮状态。现在每个插件都可以设置按钮的状态,这将改变你的状态。但是你可以监听 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),但这是一个相当大的任务。