создание кнопки в tinymce wordpress

416
04 октября 2017, 10:52

Привет всем. Создал кнопку в tinymce wordpress: (часть кода)

(function() {
tinymce.PluginManager.add('mce_button_b', function( editor, url ) {    
            editor.shortcuts.add('ctrl+b', "description mce_button_b", function() {
                 editor.focus();
                 var _content = editor.selection.getContent({format : 'raw'});
                 var _parentNode = editor.selection.getSel().focusNode.parentNode;
                 if( _parentNode.className == 'bold' ){
                     editor.selection.select(_parentNode);
                     editor.selection.setContent(_parentNode.innerHTML);
                 }else{
                         editor.selection.setContent('<span class="bold">' + _content + '</span>');
                 }
            });
});
})(); 

Но работает не так как хочется... Когда мы впервые выделяем текст и жмем на нее то текст обрамляется в тег , но когда мы выделяем часть текста который ранее уже обрамлен в тег и нажимаем на кнопку то со всего текста который обрамлен в тег, он снимается (удаляется тег <span class="bold">...</span>)

Все происходит так как и должно быть, как написано в коде, но мне б хотелось изменить поведение при повторном нажатии на уже ранее выделений частичный текст, то есть если у нас ранее выделено <span class="bold">Lorem ipsum dolor</span> и мы повторно выделяем тест ipsum и жмем на кнопку то должно произойти следующее <span class="bold">Lorem</span> ipsum <span class="bold" >dolor</span >. Так как происходит с другими стандартными кнопками (например кнопкой italic). Только реализация такого поведения мне пока не понятна. Подскажите пожалуйста.

READ ALSO
Что я не так делаю(angular)?

Что я не так делаю(angular)?

Коллеги здравствуйте

294
Как получить JSON файл и распасить его?

Как получить JSON файл и распасить его?

Добрый деньУ меня имеется json файл в хранящийся на компе, как его можно прочитать и распарсить с помощью JS(XMLHttpRequest), чтобы в дальнешем использовать?...

240
Сумма чисел из атрибутов отмеченных checkbox

Сумма чисел из атрибутов отмеченных checkbox

Есть много чекбоксов на странице

363