Вы можете попробовать это ...
function ActivityDialog(_divId, _title) {
// Store the ActivityDialog context
var self = this;
function addButton() {
var buttonElement = document.createElement('input');
buttonElement.setAttribute('type','button');
buttonElement.setAttribute('class','button');
buttonElement.setAttribute('id','updateButton-' + id););
buttonElement.onclick = this.updateAction;
};
function updateAction() {
var buttonId = this.id;
self.sendUpdateRequest(stringUrl); // <---------------------
};
function sendUpdateRequest(url) {
// something...
};
}
Поскольку вы используете updateAction
в качестве обработчика событий, вы правильно видите, что this
будет кнопкой, которая генерирует событие. Сохранение исходного контекста ActivityDialog
позволит вам поддерживать доступ к нему даже в обработчиках событий.