代码之家  ›  专栏  ›  技术社区  ›  Denis Pshenov

从jQuery回调函数访问外部对象

  •  1
  • Denis Pshenov  · 技术社区  · 16 年前

    脚本:

    My_Object = {
    
      my_div: "#mydiv",
    
      my_method: function()
      {
        $(this.my_div).fadeOut("slow", function() { $(this.my_div).fadeIn("slow"); });
      }
    
    }
    

    2 回复  |  直到 13 年前
        1
  •  2
  •   PanJanek    16 年前

    将“this”存储在临时变量中:

    My_Object = {
    
      my_div: "#mydiv",
    
      my_method: function()
      {
        var tmp = this;
        $(this.my_div).fadeOut("slow", function() { $(tmp.my_div).fadeIn("slow"); });
      }
    
    }
    
        2
  •  1
  •   cletus    16 年前

    this 现在该元素正在淡出。我想你想把它淡入,所以就这样做:

    My_Object = {
      my_div: "#mydiv",
      my_method: function() {
        $(this.my_div).fadeOut("slow", function() {
          $(this).fadeIn("slow"); // refers to the same object being faded out
        });
      }
    }
    

    Javascript 这个概念有点混乱。