<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="解决IE浏览器中图片onload事件无效的方法" id="card1">
<p> 游客</p><p>
标题:解决IE浏览器中图片onload事件无效的方法<br/>
正文:<br/>
故事模式实现是只加载当前浏览的照片和它下面的两张照片，加载照片的时候才会加载和渲染评论区，图片没有加载前会用一个一象素的图片占位，并用一个loading类将显示出一个loading背景图，判断在可视区的时候替换成真正的图片，图片加载成功后删除loading类。问题出在最后面，测试的时候发现在IE下loading类无法删除,当时代码如下：<br/>代码如下:<br/>img.src = _src;<br/>img.src = _src;<br/>img.onload = function(){<br/>   _con.delClass('loading');<br/>}<br/>网上找了一番，onload和定义src的语句应该换一下顺序，IE从缓存中取图片，onload根本不触发，opera也有这个毛病，正确代码修改如下<br/>代码如下:<br/>img.onload = function(){<br/>   _con.delClass('loading');<br/>};<br/>img.src = _src;<br/>立即就正常了<br/>结论：应该把onload写到src前面，先告诉浏览器图片加载完要怎么处理，再让它去加载图片。 所以，不是IE浏览器不会触发onload事件，而是因为加载缓冲区的速度太快，在没有告诉它加载完要怎么办时，它已经加载完了。反过来说，firefox明显更智能一些，加入onload事件后，firefox浏览器会检测缓冲区是否已经有此图片，有的话直接就触发此事件！<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1174&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1174&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1174&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1174">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1174">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>