jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CKEditor在jQuery UI重新排序时冻结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_616_1@我试图使用jQuery UI框架重新排序动态创建的CKEditors列表,但我遇到了编辑器释放的问题.当我刚刚使用< textarea>时,它工作得很好,但现在,在拖动操作完成后,它不会让用户写任何文本.

这是Javascript代码

$(function() {
    $("#list").sortable({
        placeholder: 'ui-state-highlight'
    });
    $("#list").disableSELEction();

    for (i=0;i<10;i++)
    {
        addEditor();
    }
});

function addEditor()
{
    alert("Hello");
    var editor_fields = document.editors.elements["editor[]"];

    var editoramount = 0;

    if (editor_fields.length)
    {
        editoramount = editor_fields.length;
    }
    else
    {
        editoramount = 1;
    }

    var newElem = $('#editor_container' + editoramount).clone().attr('id','editor_container' + (editoramount + 1));

    newElem.html("<textarea class='editor' name='editor[]' id='editor" + (editoramount + 1) + "' rows='4' cols='30'></textarea>");

    $("#editor_container" + editoramount).after(newElem);

    $("#editor" + (editoramount + 1)).ckeditor();
}

这是HTML代码

<form name="editors">
    <ul id="list">
        <li name="editor_container1" id="editor_container1"><textarea name='editor[]' id='editor1' rows='4' cols='30'></textarea></li>
    </ul>
</form>

解决方法

然不理想,但我发现了一个潜在的解决方案:
$(function () {
        $("#list").sortable({
            placeholder: 'ui-state-highlight',start: function () {
                $('.editor').each(function () {
                    $(this).ckeditorGet().destroy();
                });
            },stop: createckeditor()
        });
        $("#list").disableSELEction();

        for (i = 0; i < 10; i++) {
            createckeditor()
        }
    });

    function createckeditor() {
        $(".editor").ckeditor();
    }

这对我有用,因为当你拖动某些东西时,所有编辑器都可以被销毁并重新创建.它可能会被调整为仅删除被拖动的项目.

大佬总结

以上是大佬教程为你收集整理的CKEditor在jQuery UI重新排序时冻结全部内容,希望文章能够帮你解决CKEditor在jQuery UI重新排序时冻结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。