Как получить доступ к экземпляру класса в обработчике событий (JavaScript)? - PullRequest
1 голос
/ 14 декабря 2009

код:

function Customer(name){
   this._name=name;
};

Customer.prototype.init=function(){
   $('#SetCreditLevel').click(function(){
      //best way to access this._name ?
      //this now points to DOM element

   });
}

Ответы [ 2 ]

2 голосов
/ 14 декабря 2009

Как то так? Вы можете переопределить значение this, установив свой собственный контекст, но очень полезно иметь возможность доступа к объекту DOM как this в jQuery, и основную часть работы jQuery. Если бы вы изменили это, я бы сказал, что вы почти не используете jQuery. Поэтому вместо этого я передаю контекст в качестве параметра здесь ...

function Customer(name){
   this._name=name;
};

Customer.prototype.init=function(){
   $('#SetCreditLevel').click((function(context){
       return function() {
           alert(context._name);
           alert(this);
       }
   })(this));
}
2 голосов
/ 14 декабря 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...