是否会多次初始化可排序的窗口小部件是有害的?

时间:2013-03-21 21:22:19

标签: jquery jquery-ui-sortable

我有一种情况,我需要一个尚未创建的元素,在创建它时可以排序。因此,在我的代码中,每次创建新元素时都会调用可排序小部件。这会产生任何不利影响,还是仅仅覆盖以前版本的小部件?

示例代码:

function createNewElement(){
    $("#myDiv").append("<li class="newElement"></li>");

    $(".newElement").sortable({
        //various options here
    });
}

$("#clickThis").click(function(){ createNewElement(); });

如果它是有害的,那么如何在创建第一个元素时仅初始化可排序小部件一次?

修改

如果已经启动了可排序窗口小部件,我会使用sortable("refresh")但是因为启动了可排序窗口小部件的元素不存在但是我得到的错误是“你不能在可排序的窗口小部件上调用方法尚未初始化'

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找这个

function createNewElement(){
    $("<li class="newElement"></li>")
      .appendTo("#myDiv").sortable({...});
}

$("#clickThis").click(function(){ createNewElement(); });