一种在应用.appendTo()方法时使用回调函数的方法

a way to have a callback function when applying .appendTo() method

本文关键字:方法 回调 函数 appendTo 一种 应用      更新时间:2023-09-26

所以我有一点html代码,我正在附加jQuery方法.appendTo(),之后有一个jQuery插件在该html:上运行

$(str).appendTo(target);
    self.initiate_jpages_plugin(self.cluster_public_classes.items_navigation, {
        containerID: self.cluster_public_ids.items_wrapper,
        previous: self.cluster_public_classes.previous_items,
        next: self.cluster_public_classes.next_items,
        perPage: 16,
        midRange: 8,
        animation: self.cluster_animations[17],
        links: "blank",
        keyBrowse: true,
        callback: function(pages) {
            /*var data = {
                current_page: pages.current,
                total_pages: pages.count
            }
            self.set_local_storage_data(self.local_storage_key, JSON.stringify(data));*/
        }
    });

上面是它的外观,但有很多变量不太有意义(:我只是在寻找一个解决方案,只要没有应用插件,就可以隐藏html(插件会再次附加所有html),所以我能想到的最好的事情是一个回调函数,我知道.appendTo()方法没有这个函数。

那么,有什么变通办法吗?

EDIT:我将添加一个类,而不是添加一个id。$(str)可以是任何东西,并且可能已经有了一个id。如果你确信一个id就足够了,那么可以随意使用它

我所做的只是隐藏$(str)并给它一个唯一的类,这样我就可以在回调中定位它并显示它。这就是你想要的吗?

var uniqueClass = "str" + new Date().getTime();
$(str).addClass(uniqueClass).hide().appendTo(target); 
self.initiate_jpages_plugin(self.cluster_public_classes.items_navigation, {
    containerID: self.cluster_public_ids.items_wrapper,
    previous: self.cluster_public_classes.previous_items,
    next: self.cluster_public_classes.next_items,
    perPage: 16,
    midRange: 8,
    animation: self.cluster_animations[17],
    links: "blank",
    keyBrowse: true,
    callback: function(pages) {
        $('.' + uniqueClass).show(); // show it!
        /*var data = {
            current_page: pages.current,
            total_pages: pages.count
        }
        self.set_local_storage_data(self.local_storage_key, JSON.stringify(data));*/
    }
});

您尝试过ajaxComplete处理程序吗?