Получение выделенного html-контента в редакторе tinymce - PullRequest
11 голосов
/ 21 октября 2010

Я создал пользовательскую кнопку, используя этот код

    setup : function(ed) {
    ed.addButton('Tittle', {
                title : 'Tittle',
                image : './images/T.jpg',
                onclick : function() {
                ed.focus();
            var c = ed.selection.getNode().nodeName;
        if(c!="TITTLE")
        {
             ed.selection.setContent('<tittle>' + ed.selection.getContent() + '</tittle>');

        }
        else
        {

        }
}
        });

Когда пользователь выбирает текст и нажимает на новую кнопку, я хочу добавить тег <title> в начале и конце, если *Тег 1005 * не является их. Если тег <tittle> уже есть в выделенном тексте, я хочу удалить тег

Ответы [ 2 ]

13 голосов
/ 21 октября 2010

попробуй

selection.getContent({format : 'text'});

или

selection.getContent({format : 'html'});

http://www.tinymce.com/wiki.php/API3:method.tinymce.dom.Selection.getContent

РЕДАКТИРОВАТЬ: Чтобы достичь того, что вы хотите, вы могли бы сделать:

if(c!="TITTLE") {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createElement("tittle");
      newElement.innerHTML = node.innerHTML;
  }

  node.parentNode.replaceChild(newElement, node);

}
else {

  node = ed.selection.getNode();

  with(document.getElementById(iframe_id).contentWindow){
      var newElement = document.createTextNode(node.innerHTML);
  }

  node.parentNode.replaceChild(newElement, node);
}
4 голосов
/ 22 июля 2014
var node = tinyMCE.activeEditor.selection.getContent();
tinyMCE.execCommand('mceReplaceContent', false, %your value, can use node%");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...