0
вот простой вариант того, что им пытаются сделать:Как работает javascript onload внутри экземпляра?
<script type="text/javascript">
function Example(position) {
this.position = position;
instance = this;
img = new Image();
img.src = 'http://www.gazette-ariegeoise.fr/IMG/jpg/test.jpg';
console.log(this.position);
//logs as expected 1 than 2 on the second
img.onload = function() {
console.log(instance.position);
//logs 2 twice
}
}
ex1 = new Example(1);
ex2 = new Example(2);
</script>
как-то функция OnLoad регистрирует положение, например 2 раза,
почему?
Я думаю, что он должен использовать 'this.instance' вместо экземпляра. – PDKnight
@PDKnight - В обработчике событий? Это не сработает. 'this' будет изображением, а не экземпляром' Example'. – Quentin
Будет, если он привяжет функцию onload к текущему экземпляру (новый пример). – PDKnight