标题可能听起来很奇怪。嗯,确实如此。
这是我的代码的近似值(它缺少一些对此示例无用的ajax调用,并简化了其他一些内容):http://jsfiddle.net/pKNAz/3/
假设你有一个可拖动项目列表(在这种情况下,只有一个名为“Add a Wysiwyg”的可拖动项)你可以移动到一个放置区(在我的例子中是一个灰色矩形),它附加一个textarea,然后,在删除后,我使用jwysiwyg库转换为一个wysiwyg(我无法添加所有图像和css这个插件使用,但textarea基本行为(ctrl + b,ctrl + i,ctrl + u)工作,所以我们可以假设它正在运作。
在掉线时效果特别好。然而,当排序时它转向打破jwysiwyg。有两个jwysiwyg之后你可以自己动手拖动深灰色手柄。你会看到你排序的jwysiwyg失去了它的jwysiwyg。您仍然可以通过搜索$('textarea.overflow').val()
获得您之前在textarea中写入的正确值,但不能再使用jwysiwyg了。
有人知道如何解决这个问题吗?提前致谢
答案 0 :(得分:1)
好的,我得到了一个解决方案(抱歉Jan删除你的勾号)。 我想知道,如果问题是由于iframe区域和排序事件之间的组合,为什么不只是刷新wysiwygs?
我创建了一个函数来包装jwysiwyg的destroy +构造,如下所示:
function refreshTextareas()
{
$('textarea.autogrow').wysiwyg('destroy');
$("textarea.autogrow").wysiwyg({
autoGrow: true,
rmUnusedControls: true,
controls: {
bold: { visible : true },
italic: { visible : true },
insertOrderedList: { visible : true },
insertUnorderedList: { visible : true },
removeFormat: { visible : true },
h1: { visible: true },
link : { visible: true }
}
});
}
然后我在这里打电话:
$( "#sortable" ).sortable({
stop : function(event, ui){
refreshTextareas();
}
});
所以,如果你对这些东西进行排序,你可以重新构建它,然后再次运行,就像那样。
答案 1 :(得分:0)
在删除项目时,包含wysiwyg控件的iframe将被清空。由于最小代码场景重现错误,它看起来像jquery / jwysiwyg中的错误。
报告错误和/或切换所见即所得的引擎。