我有一个严重的问题.sortable和所有iframe文本都在那里。
我有以下示例代码:
HTML:
<div id="content" style="height: 400px;">
<div><textarea></textarea></div>
<div><textarea></textarea></div>
</div>
脚本:
$("#content").sortable();
这使得两个textareas可以拖拽。直到这里没有问题...现在让我们添加所见即所得的编辑器...(我尝试了很多ckeditor,tinyedit,tinymce,elrte等等)
作为一个例子,我们可以使用tinyMCE:
function ini(){
tinymce.init({
menubar : false,
toolbar1: "bold | link",
selector: "textarea",
});
好的,这就是问题在增加的地方。如果我知道拖放一个textarea只是一点点,编辑器字段将禁用自己。
到目前为止我尝试了什么: - 我在可排序方法中添加了启动和停止事件,但没有成功。 - 我尝试了frameFix:也没有任何行为上的差异。
任何有提示或解决方案的人?
THX Cervisias
答案 0 :(得分:2)
我找到了解决方案。它是一个完整的解决方法,但它的工作原理:)
所以基本上我正在做的是将每个texteditorfield的内容保存到一个数组中,并在使用sortable方法后将其放回编辑器。
所以它看起来像:
$("#content").sortable({
start: function(){
newEditors = new Array();
for(i=0; i < $("textarea").length; i++){
var content = tinyMCE.get(tinyMCE.editors[i].id).getContent();
var id = tinyMCE.editors[i].id;
newEditors[i] = {"id":id, "content":content};
}
tinyMCE.remove(); //as a fix for FF
},
stop: function(){
ini(); //re-initiate the tinymce again (if you don't do that, the field wont be editable)
for(var nr in newEditors){
tinyMCE.get(newEditors[nr].id).setContent(newEditors[nr].content);
}
}
});
因此,如果sb遇到同样的问题,并想出另一种方法来解决它,那么也很高兴看到这些解决方案。
THX Cervisias