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 に答える