使用 sortable.js 时禁用 bootstrap wysihtml5

Disable bootstrap wysihtml5 when using sortable.js

我有一组可排序的 div,每个包含我启用的文本区域 Bootstrap WYSIHTML5。这一切都很好,直到我尝试排序,然后我丢失了文本区域的内容。

我的解决方案是在 sortable 的 start() 事件上禁用 WYSIWYG,然后在 update() 上重新启用。但是,我四处寻找执行此操作的代码,但在 GitHub 页面或其他地方找不到它。 https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwyg

有谁知道在哪里可以找到这个或者有经验知道代码是什么?

郑重声明,我试过这个,但收到未知对象控制台错误:

$('textarea').data('wysihtml5').editor.composer.disable();

我遇到了同样的问题,这个解决方案似乎对我有用。问题是可排序功能似乎擦除了 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();
                });
            }
        });

希望这对某人有帮助。