首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE中的$(window).load()?

IE中的$(window).load()?
EN

Stack Overflow用户
提问于 2012-03-10 23:15:55
回答 3查看 18.2K关注 0票数 2

最近我遇到了一个神秘的问题,IE (6-8)一直给我一个错误。我不知道这是不是问题,但我想是的。

在F12中打开jQuery包括网站开发工具,输入

代码语言:javascript
复制
$(window).load(function(){
     alert("Wont able to see me");
});

就会弹出一个错误:

“无法获得属性‘片’的值:对象为空或未定义”

我做错什么了吗,还是其他什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-10 23:18:17

最新的带有jQuery和IE9的IE10 (1.7.1)不会给我带来这样的错误。

作为附带说明;,如果您想在dom准备好时执行某件事情,请尝试这样做;

代码语言:javascript
复制
$(function(){
     alert("Wont able to see me");
});

我相信这是将函数附加到domready事件的标准约定。

参考资料:jQuery文档

票数 -1
EN

Stack Overflow用户

发布于 2012-04-25 17:29:56

我最近为IE找了个不认识$(window).load()的地方.

代码语言:javascript
复制
window.onload = function() {
    alert("See me, hear me, touch me!");
};

这与$(function(){})略有不同,因为它在加载所有元素之后执行,而不是在DOM准备就绪时执行。

我最近在另一个项目中实现了这一点,它运行得非常好。

票数 8
EN

Stack Overflow用户

发布于 2018-07-11 21:43:02

对于仍然遇到这种情况的人,如果监听器在jquery函数中,IE11 (我只测试了一个)不会触发load事件。因此,将load函数拉出就绪函数,它将在IE11中触发。

代码语言:javascript
复制
//this is bad
$(() => { //jquery ready
    window.onload = () => { //wont fire in IE
        cosole.log('window loaded'); 
    }
});

//this is good
$(() => { //jquery ready
    cosole.log('dom ready'); 
});

window.onload = () => { //will fire in IE
    cosole.log('window loaded'); 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9651012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档