Я пытаюсь повторно связать tinyMCE с текстовой областью, которая создается с помощью ajax. Мой tinymce выглядит следующим образом:
tinyMCE.init({
selector : "textarea",
plugins: "emoticons link",
menubar: false,
toolbar: 'undo redo | bold italic underline | fontsizeselect | link | emoticons',
height: 240,
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : '',
paste_as_text: true,
});
My ajax для отправки данных:
$('body').on('submit', '.comment_form', function (e) {
e.preventDefault();
tinyMCE.triggerSave(); // save TinyMCE instances before sending data
....
$.ajax({
url: 'comment.php',
type: 'POST',
data: {
comment_name:comment_name,
comment:comment,
},
beforeSend: function(){
tinyMCE.remove(); // remove tiny mce form textarea
},
success: function(data){
$('.result').html(data);
$('.modal').modal('hide'); // close modal
$(".comments-body").load(" .comments-body > *"); // reload div comments-body from comments
},
complete:function(){
tinyMCE.init(); // rebind tinymce to textarea
}
});
});
Div с классом comments-body
имеет несколько форм с текстовыми областями и перезагружается после успеха. Но tinymce больше не привязывается после этой перезагрузки!
Я знаю, что должен использовать tinyMCE.remove();
и tinyMCE.init();
, и я попробовал это в своих ajax beforeSend
и complete
, но безрезультатно. Кто-нибудь знает, что я делаю не так? Я использую бесплатный API Tinymce 5