首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jquery .each同步

jquery .each同步
EN

Stack Overflow用户
提问于 2013-01-30 03:06:52
回答 1查看 522关注 0票数 4

我正在尝试使用jquery中的ajaxStop函数,但是不能触发它,你有什么想法吗?

我想要做的是循环遍历每个锚标记,然后更新其中的一些内容,从那里我想使用ajaxstop事件触发一个脚本,以便根据更新重新组织锚

谢谢你的帮助

代码语言:javascript
代码运行次数:0
运行
复制
jQuery(document).ready(function($) {
    function updateUsers() {
        $(".twitch_user").each(function(index, user) {
            $.ajax({ url: "https://api.twitch.tv/kraken/streams/" + $(user).attr("id") + "?callback=?", success: function(d) {
                if(d.stream) {
                    $(user).addClass("online");
                    $(user).removeClass("offline");
                    $(user).children(".viewers").text(d.stream.viewers + " viewers");
                } else {
                    $(user).addClass("offline");
                    $(user).removeClass("online");
                    $(user).children(".viewers").text("0 viewers");
                }
                console.log(d);
            }, dataType: "json"});
        });
    }
    //$(document).ajaxStart(function() {
    //  console.log("Event fired!");
    //  updateUsers().delay(2000);
    //})
    $(document).ajaxStop(function() {
        console.log("Event fired!");
        // updateUsers().delay(2000);
    });
    updateUsers();
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-30 03:31:52

显然,全局处理程序在执行JSONP请求时被关闭,如this ticket中所述

不能保证完成

JSONP请求(因为没有捕获错误)。在这种情况下,ajax 1.5强制全局选项为false,以便保证内部jQuery请求计数器在某一时刻返回到零。

我不确定JSONP是否是您的意图,但是URL末尾的?callback=?会让jQuery这样处理它。

解决方案是设置以下内容:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery.ajaxPrefilter(function( options ) {
    options.global = true;
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14590367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档