如何在CKEditor中使用querycommands

时间:2013-11-20 07:27:36

标签: ckeditor

在TinyMCE中,我可以使用queryCommandValue和queryCommandState来获取当前选择的值,如下所示:

tinymce.activeEditor.queryCommandValue("FontName");

这会给我选择的字体名称。我如何在CKEditor中做这样的事情?

2 个答案:

答案 0 :(得分:1)

可以使用CKEDITOR.command列表中的以下可用方法检查命令状态。

previousState

表示上一个命令状态。

alert( command.previousState );

状态

表示编辑器状态。可能的值有:

CKEDITOR.TRISTATE_DISABLED:该命令已被禁用。它的执行将无效。与禁用相同。 CKEDITOR.TRISTATE_ON:该命令已启用且当前在编辑器中处于活动状态(例如,用于上下文相关命令)。 CKEDITOR.TRISTATE_OFF:该命令已在编辑器中启用且当前处于非活动状态(例如,用于上下文相关命令)。

不要直接设置此属性,也可以使用#setState方法来实现。

例如

command.setState( CKEDITOR.TRISTATE_ON );

还可以检查状态以执行命令或执行某项任务

if ( command.state == CKEDITOR.TRISTATE_DISABLED )
    alert( 'This command is disabled' );

queryCommandValue可以在执行像command.exec(data)这样的普通命令时完成,这个数据值应该来自存储该值的某个变量。

答案 1 :(得分:1)

您可以通过这种方式获取文档以执行直接DOM调用

CKEDITOR.instances.editor1.document.$.queryCommandValue("FontName")

但我必须警告你,直接调用DOM而不是使用CKEditor API会更难。 CKEditor旨在包含浏览器之间的差异,如果你想跳过它并使用其他API,那么你将不得不重做很多工作。