在TinyMCE中,我可以使用queryCommandValue和queryCommandState来获取当前选择的值,如下所示:
tinymce.activeEditor.queryCommandValue("FontName");
这会给我选择的字体名称。我如何在CKEditor中做这样的事情?
答案 0 :(得分:1)
可以使用CKEDITOR.command列表中的以下可用方法检查命令状态。
表示上一个命令状态。
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,那么你将不得不重做很多工作。