Добавление и удаление экземпляров tinyMCE в экземплярах jQuery - PullRequest
2 голосов
/ 03 ноября 2010

Странная проблема здесь.

Работа с существующей системой, которая использует TinyMCE в качестве текстового редактора.

Я создал страницу, которая содержит множество подвижных элементов div с использованием сортировки jquery.Теперь TinyMCE, похоже, не нравится, когда его перемещают в dom, поэтому после небольшого исследования мне кажется, что мне нужно удалить экземпляр tinymce из текстового поля внутри перемещаемого элемента div и добавить его обратно в конце перетаскивания.Я могу удалить экземпляр нормально, но когда я добавлю его обратно, он не будет.

У меня самая свежая версия TinyMCE, немного более старая версия jQuery (попытался обновить, ноне повезло).

Не могу решить это, следовательно, этот пост:)

 $(function() {
    $("#categoryorder").sortable({ 
    opacity: 0.6, 
    cursor: 'move',
    revert: true,
    forcePlaceholderSize: true,
    scrollSensitivity: 40, 
    start: function(e, ui) {
             tinyMCE.execCommand( 'mceRemoveControl', false, 'textarea1' );
    },
    stop: function(e,ui) {
            // won't add back here for some reason
            tinyMCE.execCommand( 'mceAddControl', false, 'textarea1' );
            $(this).sortable( "refresh" );
    }
    });
});

Не уверен, почему это не добавит, какие-либо идеи?

1 Ответ

9 голосов
/ 02 июня 2011

Я знаю, что это старая публикация, но если кто-то погуглит по этому вопросу, обзвонит кого-то:

Я не уверен, чего вы пытаетесь достичь с помощью вызова обновления для сортируемого.

но это то, что я сделал, чтобы это работало на меня

Я использую jquery.tinymce - просто чтобы попробовать ... У меня есть настройки tinymce в другом месте, так что я могу вызывать различные настройки в зависимости от того, что я инициализирую, но концепция обоснована - поэтому вот мои методы запуска и остановки для сортируемого

start : function(event, ui) {
// mce editor needs to be removed and readded when move finsihed
     $("textarea",ui.item).tinymce().remove();
},
stop : function(event, ui) {
     $("textarea",ui.item).tinymce(myconfig.tinymcesettings);
}
...