仅将jQuery ajaxStart / ajaxStop分配给特定链接

时间:2011-11-13 22:21:43

标签: jquery

我有一些jQuery显示/隐藏div #loading,其中包含一个微调器,具体取决于.ajaxStart.ajaxStop。但似乎太笼统了。我点击的其他链接 - 或我尝试提交的表单 - 触发微调器。那么有没有办法限制下面的代码只适用于我的ul#infoContainer

中的链接
$(function() {
    $('#loading')
        .hide() // hide initially
        .ajaxStart(function(){
            $(this).show();
        })
        .ajaxStop(function(){
            $(this).hide();
        })
});

1 个答案:

答案 0 :(得分:1)

Global Ajax事件就是全球性的。

如果您想仅将行为附加到$("ul#infoContainer a"),那么最好使用#loading显示/隐藏的点击处理程序。

或者,您可以在想要触发全局行为的Ajax请求中设置global: false。对我而言,明确定义我想要的行为更有意义,而不是在我没有的地方禁用它,但这只是我的偏见。