我正在通过AJAX添加新的textarea元素,所以我在下面写了一个函数assignRichText(),它将CKEDITOR添加到任何textarea.addckeditor,然后删除addckeditor类,以便第二次添加它。这似乎有效。
但是,我在执行AJAX保存时也调用了下面的函数updateRichText(),因为否则我的textarea元素没有更新(因为我没有提交表单)。在我的控制台中,我看到该功能正在开始和结束,但是console.log(' i =' + i);从不在我的控制台中放任何东西所以我的实例没有被提起。我的" for"是否有问题?声明?
function assignRichText(){
$('textarea.addckeditor').each(function(){
ClassicEditor
.create(document.querySelector('textarea.addckeditor'), {
toolbar: ['bold', 'italic']
})
.then(editor => {
console.log(editor);
})
.catch(error => {
console.error(error);
});
$(this).removeClass('addckeditor');
});
}
function updateRichText(){
console.log('start updateRichText');
for (var i in ClassicEditor.instances){
console.log('i='+i);
ClassicEditor.instances[i].updateElement();
}
console.log('end updateRichText');
}