应用实现,从当前范围外引用$(this)

时间:2012-04-25 23:17:39

标签: jquery scope this

我是jQuery和web开发的超级菜鸟,需要一些帮助来实现apprise警报系统。我意识到“verify”函数中的函数不识别“this”选择器,我应该实现$ .proxy来从当前作用域之外获取“this”选择器。但无论我尝试什么,我都无法让这个工作

$('.closebtn').click(function(){

            apprise('<center>Are you sure you want to delete this section?<br>This action can not be undone!</center>',{'verify':true}, function(r){
                if(r){
                     $(this).remove();
                }
            })
 })

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

简单,存储this

$('.closebtn').click(function(){
  var $button = $(this);

  apprise(...., function(r){
    if (r){
      // re-reference it
      $button.remove();
    }
  });
});

你可能会在javascript中看到“类”做类似的事情(通常命名为self)。 e.g。

var myObject = function(){
  var self = this;

  var MyMethod = function(){
    // can use "self" in here to reference the object
  };
};