我想在数据库中使用样式拉动来设置和重新设置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就会被抬起。