2

我有一个 ajax'd 网站,其中:

<div class="content" id="current_page1">the content< /div>  

根据用户所在的页面换出。我想在 ajax 加载我的内容时触发一个 jquery 插件

<div id="current_page1">the content< /div>

jquery 有什么方法可以判断“current_page1”是否已加载?如果“current_page1”是通过 ajax 创建/加载的,则 document(ready) 显然不会检测到“current_page1”。

基本上我正在寻找:

  1. 主动检测#current_page1
  2. 开始插件()

提前致谢!我看到很多帖子似乎与我正在寻找的内容有些相关,但我发现的大多数相关答案都与 ajax 加载后的绑定点击事件有关。我只是想触发一些插件!

4

2 回答 2

0

最简单的方法是将脚本附加到您的 ajax 页面:

<script> startPlugin() </script>

更好的方法是像其他答案建议的那样使用回调。

于 2013-06-05T19:55:30.630 回答
0

您可以在此处使用 jQuery 延迟。您可以在此处查看API。当 AJAX 调用成功解析时触发延迟的伪代码示例如下:

var ajaxDeferred = makeAJAXCall();
ajaxDeferred.then(function(){
    //whatever you want to happen when the deferred is resolved.
});

var makeAJAXCall = function(){
    var callComplete = new $.Deferred();
    $.ajax({
        success: function (data, textStatus, jqXHR)
        {
            //resolve the deferred!
            callComplete.resolve(data);
        }
    });
    return callComplete.promise();
}
于 2013-06-05T19:55:53.553 回答