最近我遇到了一个神秘的问题,IE浏览器(6-8)不断抛出一个错误。我不知道这是否是问题,但我认为是。
在jQuery included website打开了F12开发人员工具,输入
$(window).load(function(){
alert("Wont able to see me");
});
而一个错误会弹出:
“无法获得属性‘片’的值:对象为空或undefined“
我做错了什么,或者其他什么?
最近我遇到了一个神秘的问题,IE浏览器(6-8)不断抛出一个错误。我不知道这是否是问题,但我认为是。
在jQuery included website打开了F12开发人员工具,输入
$(window).load(function(){
alert("Wont able to see me");
});
而一个错误会弹出:
“无法获得属性‘片’的值:对象为空或undefined“
我做错了什么,或者其他什么?
带IE10和IE9的最新jQuery(1.7.1)不会为我产生这样的错误。
作为一个附注;如果您希望在dom准备好时执行某些操作; 试试这种方式;
$(function(){
alert("Wont able to see me");
});
我相信这是将函数附加到domready事件的标准约定。
'$(window).load()'和'$(function(){})'不是一回事。文档就绪在窗口加载之前触发。 [进一步说明](http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/) – 2012-03-10 23:20:42
'$(window).load(fm)'与'$(fn)不是一回事)'。第一个等待所有页面资源加载(包括图像)。第二个只等到DOM被加载。 – jfriend00 2012-03-10 23:21:09
对不起,我意识到不同之处,但是,长时间没有附加任何东西给window.onload,我的大脑直接转向domReady :)。我编辑答案就好像我第一次没有搞砸了。 – 2012-03-10 23:23:17
我最近发现了一种绕过IE浏览器不承认$(window).load()
...
window.onload = function() {
alert("See me, hear me, touch me!");
};
这比$(function(){})
有点不同,因为它执行后,而不是所有的元素都装到DOM何时准备就绪。
我最近在另一个项目中实现了这一点,它的工作非常好。
jQuery的什么版本? – 2012-03-10 23:22:48
我没有得到那个错误。但是这个加载处理程序不会执行,因为已经发生了''load''事件(除非你在设置页面的时候以某种方式设法从控制台执行代码)。 – 2012-03-10 23:22:58