我在网站上使用以下代码:
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script src="js/jquery-migrate-1.2.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("img#logo").load(function() {
alert('Hello');
});
});
</script>
这在IE中不起作用,但在Firefox,Chrome和Safari中运行良好。
答案 0 :(得分:3)
我可以确认您的代码 在Windows 7 64上的IE 8中使用未经编辑的版本:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script>
$(document).ready(function () {
console.log($.fn.jquery);
$("img#logo").load(function () {
console.log('Hello');
});
});
</script>
</head>
<body>
<img id="logo" src="somegig.gif" onload="console.log('load');"/>
</body>
</html>
这将记录1.10.1然后加载然后你好,也许你必须验证你的HTML并确保你的HTML有效可能这是一个问题。
答案 1 :(得分:1)
快速审核http://api.jquery.com/load-event/提供了一些警告:
与图像一起使用时加载事件的注意事项
开发人员尝试使用.load()解决的常见问题 快捷方式是在图像(或集合)时执行函数 图像)已完全加载。有几个已知的警告 这应该注意。这些是:
- 它不能始终如一地工作,也不能可靠地跨浏览器
- 如果图像src设置为与之前相同的src,则无法在WebKit中正确触发
- 它没有正确地冒泡DOM树
- 可以停止触发已存在于浏览器缓存中的图像
请注意第一和第四个警告。清除缓存并重试。
另外,你需要jQuery迁移吗?失去它,看看它是否有毛刺你的IE