首页 新闻 会员 周边

请教一个img 标签里 onload事件重复调用的问题..

0
悬赏园豆:5 [待解决问题]

img 的 onload事件是在图片正确载入后执行的.

我们通常先给图片一个src='loading.gif',然后通过onload事件去加载实际图片.

比如onload="src=GetImage()"加载完成后图片会改变.

此时不会因为src里重新放了一个新的图片而引发onloading事件

 

而下边这种情况就会了..

当初始src不存在的时候,如src="x",此时去执行onerror事件,在onerr事件里设置src为加载失败的图片路径.

 

当设置完成之后...会引发onload事件,

onload事件加载完图片后,会再次引发onload事件...这样无限循环.

 

为什么同样是onload事件给图片src赋值,一个不会重复引发,一个会???

虽然加了obj.onload=null之后解决了,但是很好奇为什么会这样?麻烦知道的朋友告诉我一下.

 

附代码如下:

  <script type="text/javascript">
        function GetImage(obj) {
            obj.onload = null;
            return "http://www.bjhhsc.com/UpLoadImage/文化石/888X463/20141103194832_bc2681bb-62db-4711-8ffe-36150d96a585.jpg";
        }
        function GetLoading() {
            return "http://192.168.1.8:82/Image/test2.jpg";
        }
    </script>

 

 <img  src="s" onload="src=GetImage(this);" onerror="src=GetLoading();" alt="tips.." />
hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-07-26 11:27
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册