当我需要编辑存储在数据库中的现有文本时,请按下CKeditor工具栏上的某些按钮,因为它们已经具有某些样式。

例如,如果我的数据库中包含以下文本:

<strong>asdf</strong>


当我编辑此文本时,将按下“粗体”按钮。

我需要将bulletedlist单击设置为编辑器的默认设置。我听instanceReady事件,并在事件开始时使用execCommand('bulletedlist')来实现我的目标:

CKEDITOR.on( 'instanceReady',function(ev) {
  ev.editor.execCommand( 'bulletedlist' );
} );


但是,如果文本已经被项目符号标记,则调用execCommand('bulletedlist')将取消项目符号样式。
我需要知道用户开始编辑文本时按下了哪些按钮,因此可以防止取消默认样式。我该如何实现?

最佳答案

要查询命令状态,您需要使用:

editor.getCommand( 'bulletedlist' ).state;


它将返回以下之一:


CKEDITOR.TRISTATE_DISABLED
CKEDITOR.TRISTATE_OFF
CKEDITOR.TRISTATE_ON

10-07 22:14