2

我正在寻找一种在使用 Ajax 加载内容后重新初始化插件的好方法。例如,这段代码初始化了一个 jquery 插件:

$('.helloworld').plugin({
 option_one: value
});

因此,在使用 ajax 加载内容后,页面内会出现一个带有“helloworld”类的新元素。我希望我刚刚初始化的插件也引用了用 ajax 加载的元素。我可以将上面的代码放入一个 JavaScript 函数并在 ajax 加载后调用它,但我认为有一种更舒适的方法。有人知道怎么做吗?

4

1 回答 1

0

我不确定这是否是最优雅或最有效的方式,但我正在考虑为加载 AJAX 的 .helloworld 提供一个名为 .no_plugin 的附加类,并在页面上设置 1000 毫秒间隔以查找 $('.no_plugin'),附加插件,并删除 .no_plugin 类,以便下次间隔触发时,它不会尝试将插件重新附加到已经拥有它的东西上。

//set the interval
setInterval(function(){

    //find all instances of .no_plugin
    //remove the class AFTER applying the plugin or else the selector will lose it's place
    //and fail to attach your plugin
    $('.no_plugin').plugin({
        option_one: value
    }).removeClass('no_plugin');

}, 1000);
于 2013-07-22T19:21:33.287 回答