IE浏览器中图片onload事件无效的解决方法
故事模式实现是只加载当前浏览的照片和它下面的两张照片,加载照片的时候才会加载和渲染评论区,图片没有加载前会用一个一象素的图片占位,并用一个loading类将显示出一个loading背景图,判断在可视区的时候替换成真正的图片,图片加载成功后删除loading类。
问题出在最后面,测试的时候发现在IE下loading类无法删除,当时代码如下:
代码如下:
img.src = _src;
img.src = _src;
img.onload = function(){
_con.delClass('loading');
}
网上找了一番,onload和定义src的语句应该换一下顺序,IE从缓存中取图片,onload根本不触发,opera也有这个毛病,正确代码修改如下
代码如下:
img.onload = function(){
_con.delClass('loading');
};
img.src = _src;
立即就正常了
结论:应该把onload写到src前面,先告诉浏览器图片加载完要怎么处理,再让它去加载图片。 所以,不是IE浏览器不会触发onload事件,而是因为加载缓冲区的速度太快,在没有告诉它加载完要怎么办时,它已经加载完了。反过来说,firefox明显更智能一些,加入onload事件后,firefox浏览器会检测缓冲区是否已经有此图片,有的话直接就触发此事件!
相关推荐
-
js之onload事件的一点使用心得
如果我问你window.load和window.onload分别是什么意思,恐怕你会回答我:"这不是页面加载完就执行吗". 但是答案是不一定,得看你怎么用.看一下例子吧 例1: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> <
-
js的onload事件及初始化按钮事件示例代码
大家常见的肯定都是<body onload=""> 这种用法.其实,不仅可以在body 上用它还支持多个HTML标签.用法如下: onload事件当一个页面或是一张图片加载完成时被触发. 所支持的HTML标签: <body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script> 实例: 第一种方法 复制代码 代码如下: <BOD
-
js onload事件不起作用示例分析
前一段事件遇到一个奇怪的问题,jsp页面中写一个onload事件,发现居然不起作用,查看源文件,bady的onload后居然没有方法名??? <body onload="这里居然是空的" bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0"> 百思不得其解, 于是试验 复制代码 代码如下: </body> <
-
IE浏览器中图片onload事件无效的解决方法
故事模式实现是只加载当前浏览的照片和它下面的两张照片,加载照片的时候才会加载和渲染评论区,图片没有加载前会用一个一象素的图片占位,并用一个loading类将显示出一个loading背景图,判断在可视区的时候替换成真正的图片,图片加载成功后删除loading类. 问题出在最后面,测试的时候发现在IE下loading类无法删除,当时代码如下: 复制代码 代码如下: img.src = _src;img.src = _src;img.onload = function(){ _con.delCla
-
IE6浏览器中window.location.href无效的解决方法
本文实例讲述了IE6浏览器中window.location.href无效的解决方法.分享给大家供大家参考.具体方法如下: window.location.href是js中跳转功能,很多人在ie6中都会发现window.location.href不能跳转了,下面我给大家来介绍一下其原因与解决方法. 问题代码如下: 复制代码 代码如下: <a href="javascript:void(0);" onclick="javascript:test();">点击
-
wxpython中Textctrl回车事件无效的解决方法
本文实例讲述了wxpython中Textctrl回车事件无效的解决方法.分享给大家供大家参考,具体如下: 今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照HTML表单的逻辑, 我们在Textctrl里回车应该提交查询, 但是wxpython的Textctrl很奇怪, 回车了居然是像Tab作用一样跳转到下一个控件.这样的话,要完成查询, 要么是鼠标点击按钮, 要么需要按两次或者两次以上. Google了一下, 无答案, 但是得到了一些有用的资料: TextCtrl支
-
在layui中layer弹出层点击事件无效的解决方法
1.click只能为页面现有的元素绑定点击事件,如果是动态生成的新的元素,是没有事 件的 2.而(document).on("click","指定的元素",function()); 方法则是将指定的事件绑定在document上,而新产生的元素如果符合指定的元素,那就触发此事件不起作用:(document).on("click","指定的元素",function()); 方法则是将指定的事件绑定在document上,而新产生的元
-
thinkphp中session和cookie无效的解决方法
本文实例讲述了thinkphp中session和cookie无效的解决方法.分享给大家供大家参考.具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账户的信息,上传服务器之后,发现跳转之后session不复存在,为什么呢?在当前页面输出session是存在的. 遇到这个问题三天了,因为是自学没有老师可以请教,身边也没有几个是弄PHP的,所以真的是很悲剧,于是乎百度,而百度上很多人都是屁话连天,没有什么可以解决问题的,经过三天的修改
-
Radio 单选JS动态添加的选项onchange事件无效的解决方法
//记一个问题(已经解决2016.5.5) //在公司项目中遇见一个添加单选项的需求,采用ajax一步请求.为节约资源添加后不刷新网页,js动态改变页面 //当选择到动态添加的单选项,执行绑定事件 radio 单选JS动态添加的选项,onchange事件无效.使用delegate()函数可以解决该问题!!! delegate(): delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 使用 delegate() 方法的事件处
-
vue element-ui 绑定@keyup事件无效的解决方法
解决办法: <el-input v-model="searchParmas.gameName" placeholder="游戏名称" class="w120" @keyup.native="getGameList(searchParmas.gameName)"></el-input> 加上.native覆盖原有封装的keyup事件即可. 以上这篇vue element-ui 绑定@keyup事件无效的解
-
Android编程出现Button点击事件无效的解决方法示例
本文实例讲述了Android编程出现Button点击事件无效的解决方法.分享给大家供大家参考,具体如下: 遇到这样一个问题,给一个界面上方的按钮添加了点击事件,但死活没反应,而放在界面下方的3个按钮,都有相应点击事件,百度了一下无非有两种可能: 1.button没有初始化或者button初始化多次,导致混乱. 2.button点击事件写错,无法监听. 但我确定的是这些都是没有错的,后来找到的原因是下方的scroll布局覆盖了上方的button的布局,使用了fill_parent,所以获取不到点击
-
ASP.NET在MVC中MaxLength特性设置无效的解决方法
本文实例讲述了ASP.NET在MVC中MaxLength特性设置无效的解决方法.分享给大家供大家参考.具体分析如下: 一.问题: 在ASP.NET MVC项目中,给某个Model打上了MaxLength特性如下: 复制代码 代码如下: public class SomeClass { [MaxLength(16, ErrorMessage = "最大长度16")] public string SomeProperty{get;set;} } 但在其对应的表单元素中并没有
-
vscode中使用Autoprefixer3.0无效的解决方法
问题 一开始安装的Autoprefixer是最新版本的3.0.1,一波操作后发现无效 想是不是因为没设置browsers?那就设置一下吧 "autoprefixer.browsers": [ "> 1%", "last 2 versions", "not ie <= 8", "ios >= 8", "android >= 4.0" ], 是在setting.jso
随机推荐
- 史上最简单的MySQL数据备份与还原教程(中)(三十六)
- jQuery+json实现动态创建复杂表格table的方法
- Java实现等待所有子线程结束后再执行一段代码的方法
- 分析Python编程时利用wxPython来支持多线程的方法
- web.py在SAE中的Session问题解决方法(使用mysql存储)
- Nodejs全栈框架StrongLoop推荐
- 使用jQuery或者原生js实现鼠标滚动加载页面新数据
- 用NODE.JS中的流编写工具是要注意的事项
- ASP.NET MVC5网站开发之实现数据存储层功能(三)
- C#向PPT文档插入图片以及导出图片的实例
- 在Docker容器中部署静态网页的方法教程
- 这些年、我收集的JQuery代码小结
- Java数据导出功能之导出Excel文件实例
- $.ajax传JSON数据到后台的注意事项小结
- jquery对象和DOM对象的任意相互转换
- 鼠标放上去触发一个javascript提示框效果代码
- 详解Javascript动态操作CSS
- 文件关联及应用—注册表使用全攻略之二
- 利用注册表限制特定程序运行—注册表使用全攻略之十四
- 源码阅读之storm操作zookeeper-cluster.clj