У меня есть объект, ChatHandler
, которому принадлежит div, а его div содержит некоторые другие элементы dom. Затем я связать обработчик события для некоторого подмножества элементов DOM, содержащихся в нем, например, так:Javascript 'this' context with jQuery
$(this.element).find('.render-box').unbind('click').click(this.handleBoxClick);
и я указать некоторую функцию для обработки этих щелчков.
ChatHandler.prototype.handleBoxClick = function(event) {
// 'this' refers to a DOM object.
var partner = $(this).attr('partnerid');
// But now I want to be able to access a public attribute of this object.
this.myAttribute = partner;
}
Как я могу получить доступ к общественным членам/функциям моего объекта ChatHandler? Я предполагаю, что я не могу изменить контекст выполнения, но должен быть какой-то способ сделать это, что мне не хватает.
Я согласен с этим методом, используя метод прототипа только на рожон, на мой взгляд –
я не думаю, что это ответ на вопрос OPs правильно. Похоже, он использует шаблон плагина jQuery, который отлично работает с прототипами. В вашем коде вы копируете каждый метод на каждом новом экземпляре. – elclanrs