Javascript JQuery.sortable()仅在页面刷新后工作

Javascript JQuery.sortable()仅在页面刷新后工作,javascript,jquery,html,Javascript,Jquery,Html,我有一个例子,一个页面包含很多JQuery,几乎所有JQuery都可以工作。除了: private sortableOptions = { JSPA: this, delay: 50, group: "favourites", connectWith: ".sel-favourite-groups", vertical: false, itemSelector: "app-favourite", placeholder: "<li c

我有一个例子,一个页面包含很多JQuery,几乎所有JQuery都可以工作。除了:

private sortableOptions = {
    JSPA: this,
    delay: 50,
    group: "favourites",
    connectWith: ".sel-favourite-groups",
    vertical: false,
    itemSelector: "app-favourite",
    placeholder: "<li class='placeholder favourite list-group-item' style=''></li>",
    tolerance: 15,
    onDrop: this.sortDrop,
    onDragStart: this.sortDragStart
};


$list.sortable(this.sortableOptions);
通过回顾其他类似的问题(通常JQuery在刷新后不起作用),我已经尝试过:

  • 将所有内容添加到DOM,然后调用
    .sortable()
  • 调用
    .sortable('refresh')
  • 简化代码,以便不包括上述“组”(多个
所有这些都没有任何区别-在第一次加载时从不工作,在页面刷新后总是工作

另外,离开页面导航,返回意味着
.sortable()
不起作用

我不明白的是刷新是如何工作的,当导航到(没有缓存内容)时的初始页面加载不应该与点击f5相同吗

正如我在开始时所说的,页面上还有很多其他jQuery,所有这些都按照预期工作

有人知道这里发生了什么吗

private render(): JQuery {
        let $page = this.getTemplate("home");

        let $list = $page.find("#home-favourites");
        $list.sortable(this.sortableOptions);

        try {
            for (let f = 0; f < this.user.UserSettings.favourites.sites.length; f++) {
                this.drawFavourite($list, this.user.UserSettings.favourites.sites[f]);
            }

            // and do the same for the groups
            for (let g = 0; g < this.user.UserSettings.favourites.groups.length; g++) {
                let group = this.user.UserSettings.favourites.groups[g];
                // add the header and list to the DOM
                let $list = this.drawFavouriteGroup(group);
                $list.sortable(this.sortableOptions);

                if (group.state == "minimised") {
                    let $li = $list.parent();
                    this.drawMinimisedFavouriteGroup($li, group.name);
                    $li.addClass("collapse");
                }

                for (let f = 0; f < group.sites.length; f++) {
                    this.drawFavourite($list, group.sites[f]);
                }
            }
        }
        catch (ex) {
            console.log("EXCEPTION:: Home.render(): ", ex);
        }

        return $page;
    }