有一个按钮点击事件:
$("#butt").click(function() {
if($("#custom").css("display") == "none") {
$.post('/a/b/c', {}, function(data) {
     执行代码
        }); $("#butt").ajaxStop(function() {
alert(1);
});
}当我单击这个按钮的时候会执行alert(1),但当我点击别的按钮,执行哪个按钮的ajax事件的时候,也会执行到这个alert(1),用火狐看了一下,确实没执行这个按钮的ajax事件,这是怎么回事??谢谢!

解决方案 »

  1.   

    你有没将$("#butt")这个ajax设置成全局了
    如$.ajax({
        global:true
       })
      

  2.   

    ajaxStop()不过这个好像就是全局事件了吧?
      

  3.   

    jquery ajax方法global默认值是true,
    所以,如果想让某个ajax不受全局方法(比如ajaxStop())的影响,请将global设置成false:
    $.ajax({
       url:'...',
       global:false,
       .....
    })
      

  4.   

    就是你用了ajaxStop()之后全部ajax ,stop后都会执行
      

  5.   

    这个ajaxStop()方法默认的的确是全局的,所以需要修改下,全局改成false就ok了
      

  6.   

    谢谢大家的回答,我现在知道了ajaxStop()作用域是全局的,但大家说让我设成不是全局的,该怎么设置呢(具体到我这段代码)?
    另外我想要实现的是当“#butt”的ajax事件结束后执行alert(1)。而别的ajax事件结束后不执行alert(1)。谢谢!
      

  7.   


    $.ajax({   complete : function(){
          alert(1)
       }
    })
      

  8.   

    $("#butt").ajaxComplete(function() {
     alert(1);
     });
      

  9.   

    $(document).ready(function(){
    $("btn").ajaxstart(function()).ajaxstop(function(){})
    })