我在javascript中加载图片时遇到问题。似乎永远不会调用.onload函数,因此图片未标记为已加载。你能帮忙吗?
以下是代码:
select *
from whatever
where ( create_date >= DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)
and create_date < DATEADD(YEAR, DATEDIFF(YEAR, -1, GETDATE()), 0)
)
由于
答案 0 :(得分:2)
上下文#1
this.image.onload = function () {
this.loaded = true;
};
this
引用[object HTMLImageElement]
,而不是img
实例。
上下文#2
现在,将代码更改为:
this.image.onload = function () {
this.loaded = true;
}.bind(this);
当您执行new img("http://serban.ghita.org/imgs/serban.jpg");
时,this
会引用您的[object Object]
。
背景#3
现在,如果您执行img("http://serban.ghita.org/imgs/serban.jpg");
,new
,this
将引用[object Window]
。
<强>解决方案强>
这取决于this
的背景。
bind
var _this = this;
,然后在_this.loaded = true;
内使用onload
。