2013-03-18 8 views
2

Я пытаюсь сбросить содержимое tinymce.Сбросить содержимое tinyMce

В начале есть некоторые «Контент». Пользователь изменил его на некоторый «B-контент», но он не хочет его сохранять, поэтому он может нажать кнопку «отменить», и весь контент вернется к версии «А».

Содержимое - это текст, сохраненный ранее, поэтому он не является постоянным. Как переустановить текст tinyMce на оригинальный? Html:

<div id="someDiv">Content A</div> 

Было бы хорошо, чтобы увидеть что-то вроде этого. Если содержимое было изменено, кнопка отмены сбросит содержимое до оригинала:

if($('#someDiv').tinymce().isDirty()) {: 
    $('#someDiv').tinymce().reset(); 
} 
+2

Да, браво CBroe. Вы знаете, что я посетил почти все результаты с нескольких первых страниц этого запроса, прежде чем я разместил здесь? Если вы найдете ответ на мой вопрос, тогда опубликуйте и не обращайтесь со мной как с идиотом! – imclickingmaniac

+0

Я не могу знать, что вы проводили какое-либо исследование себя, если не упоминаете об этом. – CBroe

+0

Ну, извините. Мне также не нравится, когда ppl не ищет до вопроса, поэтому я понимаю ваше намерение. Все результаты, о которых я нашел, относятся к редактору очистки, но не к возврату в исходное состояние. Также найдено несколько примеров, которые не сработали :( Так что я все еще жду помощи. – imclickingmaniac

ответ

3

Это легко сделать.

Вы должны добавить это (с помощью the setup parameter) в конфигурации:

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onInit.add(function(ed, evt) { 
      ed.init_content = ed.getContent(); 
     }); 
    } 
}); 

на ButtonClick вы звоните следующее для сброса редактора содержимого

var ed = tinymce.get('your_editor_id'); 
ed.setContent(ed.init_content); 

EDIT - для TinyMCE 4. x синтаксис для добавления событий редактора изменился и теперь:

tinymce.init({ 
    ... 
    setup: function (ed) { 
     ed.on('init', function() { 
      ... 
     }); 
    } 
}); 
+0

Дайте мне секунду. Нужно выяснить, как это сделать, используя плагин jQuery. – imclickingmaniac

+1

Работает отлично. Это почти то же самое, что я сделал (сохраняя данные где-то в init), но это намного лучше. Не нужно создавать временные элементы или другие вещи. jQuery wersion почти то же самое. '$ ('yourElement'). Tinymce(). SetContent ($ ('yourElement'). Tinymce(). Init_content)' – imclickingmaniac

+1

рад быть в состоянии помочь, onInit должен использоваться здесь, потому что иначе вы бы не kniow точно, если редактор готов – Thariama

Смежные вопросы