Как узнать кто создал или инициировал вызов события в JavaScript?
Теперь подробнее о задаче - загрузка текстуры в WebGL. Я реализовал так:
Texture.prototype.loadImage = function(url) {
image = new Image();
image.owner = this; // смело, но гложет червь сомнения
image.onload = function() {
gl.bindTexture(gl.TEXTURE_2D, this.owner.texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
}
image.src = url;
}
Так как onload забывает (либо я незнаю как узнать) кто его вызывал действия по загрузке текстуры теряют смысл, так как неизвестно куда ее загружать. Я решил проблему привязав к объекту image поле указывающее на класс создателя но сделал это грубо и топорно, вот так:
image.owner = this;
Умом понимаю что так делать некорректно (можно же что-то важное перекрыть) и если кто знает правильное решение пожалуйста подскажите как в таких случаях поступать.