0

我想知道当它在命名空间内时如何在 jquery 绑定中保存一个值。

var obj = obj || (obj ={ 
    valuetosave:-1,
    init:function(){
        $("some selector").on("click",function(){
            tmpval = I get some value here
            how can asign 'tmpval' to obj.valuetosave if I can't use this because 
            is in the jquery scope
        })
    }
})

我知道无论是标题还是我的小描述都没有多大用处,我希望这个小例子可以说明我的问题。

谢谢

4

1 回答 1

1

如果你想引用当前实例,obj那么你应该使用这个关键字。例如

var obj = obj || ({ 
  valuetosave:-1,
  init:function(){

    var self = this;  // preserver your global instance in a variable
      $("#mybutton").on("click",function(){               
          var tmpval = 'I get some value here'
          // here `this` refers to  the function event instance , not obj instance
          // So i am using self (which is global instance variable)
          self.valuetosave = tmpval;
          alert(self.valuetosave);
      });
  }
});

如果您需要更多帮助,请告诉我,请查看 jsfiddle链接。

于 2013-02-12T06:07:03.393 回答