我有一组可排序的div,每个div都包含我启用Bootstrap WYSIHTML5的文本区域。这一切都正常,直到我尝试排序,然后我丢失了textarea的内容。
我的解决方案是在sortable的start()事件上禁用WYSIWYG,然后在update()上重新启用。但是,我在代码中看起来很高和很低,并且无法在GitHub页面或其他地方找到它。 https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwyg
有谁知道这可以找到的地方,或者有经验知道代码是什么?
为了记录,我已经尝试了这个,但是得到了一个未知的对象控制台错误:
$('textarea').data('wysihtml5').editor.composer.disable();
答案 0 :(得分:3)
我有同样的问题,这个解决方案似乎对我有用。问题是可排序的功能似乎擦除了iframe中的body标签。 为了解决这个问题,我在排序开始时将iframe正文标记存储在隐藏字段中,然后将其放回iframe中。
$(".contentPanel").sortable({
disabled: false,
revert: true,
start: function (e, ui) {
$(document.getElementsByTagName("iframe")).each(function () {
$(".hdHtmlBag", $(this).parent()).val(this.contentWindow.document.body.outerHTML);
});
},
stop: function (e, ui) {
$(document.getElementsByTagName("iframe")).each(function () {
this.contentWindow.document.body.outerHTML = $(".hdHtmlBag", $(this).parent()).val();
});
}
});
希望这对某人有帮助。