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

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

本文介绍了从jQuery回调函数访问外部对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

场景:

My_Object = {

  my_div: "#mydiv",

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

}

在"fadeIn"调用中无法识别"this.my_div",因为"this"不再指向原始对象.如何将原始对象传递给回调函数?

'this.my_div' is not being recognized in the fadeIn call, as 'this' doesn't point to the original object anymore. How to I pass the original object to the callback function?

推荐答案

将"this"存储在临时变量中:

Store "this" in temporary variable:

My_Object = {

  my_div: "#mydiv",

  my_method: function()
  {
    var tmp = this;
    $(this.my_div).fadeOut("slow", function() { $(tmp.my_div).fadeIn("slow"); });
  }

}

这篇关于从jQuery回调函数访问外部对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 08:57