Tinymce 3 - вставить новый контент в новый блок после нажатия кнопки
Я хочу спросить, возможно ли добавить новый контент "вне" контента, который был недавно добавлен. Итак, у меня есть пользовательская кнопка, которая добавляет простой HTML. И что я хочу заархивировать, так это добавить тот же html, но за пределами существующего, чтобы на моем скриншоте было отмечено зеленым. Я ищу способ, как выйти из этого div и добавить новый HTML после существующего.
ниже скриншот, и код - как кнопка JavaScript в сгенерированном - очень просто.
var oferta = '<div class="col-sm-3"><h1>test</h1></div>'
setup: function (ed) {
ed.addButton('example', {
title: 'example.desc',
image: './/',
text: 'Oferta',
icon: true,
onclick: function () {
tinyMCE.execCommand('mceInsertContent', false, oferta);
}
});
},
РЕДАКТИРОВАТЬ: Ниже, как это выглядит сейчас, когда я нажимаю кнопку 3 раза подряд (каждый следующий контент добавляется к существующему).
1 ответ
Решение
Это очень легко сделать, попробуйте изменить ваш код с помощью этого примера.
setup: function (editor) {
ed.addButton('example', {
title: 'example.desc',
image: './/',
text: 'Oferta',
icon: true,
onclick: function () {
var h1 = editor.dom.create('h1');
h1.innerText = 'test';
var oferta = editor.dom.create('div' ,{'class': 'col-sm-3'});
oferta.appendChild(h1);
var divs = editor.dom.select('div');
if(divs && divs.length > 0){
editor.dom.insertAfter(oferta,divs[divs.length-1])
}else{
tinyMCE.execCommand('mceInsertContent', false,oferta.outerHTML);
}
editor.selection.select(oferta);
editor.selection.collapse(true);
}
});
},