我正在使用firefox 4.0,当我在body元素上使用load事件时,它表现得很奇怪。我尝试了一些东西和一些工作,有些不。 第一个是这样的
<html>
<head>
<script type="text/javascript">
var load = function(){
alert("body loaded"); //alert not displayed
};
document.body.addEventListener("load",load,false);
</script>
</head>
<body >
</body>
</html>
现在这不起作用 现在我试过这个
html>
<head>
<script type="text/javascript">
var load = function(){
alert("body loaded"); //alert displayed
};
</script>
</head>
<body onload="load()">
</body>
</html>
这是有效的
现在我试过这个
<html>
<head>
<script type="text/javascript">
var load = function(){
alert("body loaded"); //alert not displayed
};
document.body.onload=load;
</script>
</head>
<body >
</body>
</html>
这不起作用。 怎么了?
作为对Doug D的回应我试过这个
<html>
<head>
</head>
<body>
<script type="text/javascript">
var load = function(){
alert("body loaded"); //alert not displayed
};
document.body.onload=load;
</script>
</body>
</html>
这不起作用也不起作用
<html>
<head>
</head>
<body>
</body>
<script type="text/javascript">
var load = function(){
alert("body loaded"); //alert not displayed
};
document.body.onload=load;
</script>
</html>
在上一次尝试body has finished loading
和第二次尝试中body is being loaded
。但这仍然不起作用
答案 0 :(得分:1)
在加载之前,无法在头部访问body
。您使用onload属性的第二种方法是正确的。或者,我建议使用jQuery和
$(document).ready(function()
{
alert("body loaded");
});
它是跨浏览器兼容的。如果没有jQuery,你需要处理IE和其他人之间的DOM事件差异。