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);
        }
    });
},
Другие вопросы по тегам