我想使用从数据库中提取的样式在 CKEditor 中即时设置和重新设置样式下拉列表。我在尝试使用 JQuery 动态设置它时遇到问题。这是一个愚蠢的场景:
例如,使用 CKEditor 旁边有一个额外的下拉菜单。在下拉菜单中有一个样式集列表:Cool、Warm、Hot
当用户选择一种样式时,我会从数据库中提取相应的样式并创建一个数组来更改 CKEditor 中的默认样式下拉列表以及与该集合关联的样式。
目前,我能够让它工作的唯一方法是销毁 CKEditor 的实例并使用以下样式重新实例化一个新实例:
var editor = $('#editor').ckeditorGet();
editor.destroy();
if(set == "cool"){
//AJAX Call to get styles from DB.....
//loop through results and build styleArray
CKEDITOR.stylesSet.add('cold', styleArray);
$('#editor').ckeditor( function() { /* callback code */ },
{
stylesSet: 'cold'
});
}
...
有没有办法在不破坏编辑器的情况下清除下拉列表中的当前样式并重新填充它?当 UI 不得不暂停并等待编辑器的死亡和重生时,UX 就被抬高了。