JavaScript 和 IE7 - 为什么我的 *.onload = function() { } 不会触发?
-
08-07-2019 - |
题
我有一个画廊,我快速为一个小网站编写了代码,在 Firefox 3 和 Safari 3 下工作得很好。但是当我在我最好的老朋友 IE7 上测试时,它似乎没有触发 imageVar.onload = function() { // code here }..我想用它来停止加载效果并加载图像。
请记住...
- 我知道缩略图只是大图像的缩小版。当客户最终确定图像后,我将创建适当的缩略图。
- 这是我第一次尝试摆脱过程式 JavaScript 的大部分影响。所以请放轻松并让我知道我的代码哪里糟糕!
解决方案
其他提示
由于实现差异,跨浏览器事件支持并不是那么简单。由于您在站点上使用 jQuery,因此最好使用其事件方法来标准化浏览器支持:
代替:
window.load = function(){
//actions to be performed on window load
}
imageViewer.image.onload = function(){
//actions to be performed on image load
}
做:
$(window).load(function(){
//actions to be performed on window load
});
$(imageViewer.image).load(function(){
//actions to be performed on image load
});
只是为了添加 Eran 使用 jQuery 内置事件处理程序的建议,您可以在加载文档并创建 DOM 时但在下载图像之前运行代码:
$(document).ready(function(){
//your code
});
不隶属于 StackOverflow