我很沮丧和沮丧,所以是时候寻求帮助了。做了很多谷歌搜索,但还没有找到适合我的解决方案。
我所拥有的是一大堆可以使用 Jquery 可排序的 div,其中一些 div 包含一个 TinyMCE 实例。在您尝试移动包含 TinyMCE 实例的 div 之前,这一切都很好 - 当您这样做时,TinyMCE 似乎会刷新自身并创建一个新实例,因此您会丢失数据等。然后整个页面因 javascript 而中断不再作品:)。在此期间,我在 Firebug 中遇到 javascript 构造函数错误等。
我决定最好的方法是当 div 开始被拖动时,从文本区域中删除 tinymce,当它被放置在它的新位置时,将 tinymce 重新插入。
我可以很好地删除它,但在重新添加它时遇到了麻烦——因为我遇到了更多的构造函数错误。
注意:TinyMCE 会自动添加到我正在使用的系统中的所有文本区域,因此尽量避免弄乱 TinyMCE。
在下面的代码中,我只是针对特定的 textarea id 进行测试。
$cols.sortable({
cursor: 'move',
revert: true,
opacity: 0.6,
placeholder: 'widgetplaceholder',
forcePlaceholderSize: true,
connectWith: cols,
zIndex:9000,
cancel: ".collapsable_box_editpanel_groups, .collapsable_box_content",
start: function(e, ui) {
// removes tinymce ok from textarea
tinyMCE.execCommand( 'mceRemoveControl', false, 'textarea1' );
},
stop: function(e,ui) {
// breaks here - constructor error
tinyMCE.execCommand( 'mceAddControl', true, 'textarea1' );
$(this).sortable( "refresh" );
}
});
还有其他人有其他解决方案吗?如果您需要更多信息,请告诉我:)