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