<HTML>
<script language="javascript"> 
function c(){ 
alert("111") 
document.body.style.backgroundColor="#FF0000"; 

window.onload=c(); 
</script>
<body>
</body>
</HTML>
 这样可以弹出'111'但是背景色没改 
但是我把window.onload=c()改成window.onload=c;就可以了 为什么??

解决方案 »

  1.   

    window.onload=c;
    window.onload=是为这个事件设置一个处理函数的函数名
    window.onload=c()这个写法就有问题   
    onload事件实在网页加载完成后执行
    你这样写window.onload=c()即使能运行那个方法也是在网页打开的时候就加载了
    也就是说还没创建document.body.style.backgroundColor="#FF0000";这里的body对象的时候就执行当然是无法赋值的
      

  2.   


    <HTML> 
    <script language="javascript"> 
    function c(){ 
    alert("111") 
    document.body.style.backgroundColor="#FF0000"; 

    </script> 
    <body> 
    </body> 
    </HTML> 
    <script>
    window.onload=c(); 
    </script>LS有理 ..JS从上往下读 ..像上面这样就行..
      

  3.   

    楼主你这样window.onload=c(); 其实是直接执行了这个方法
    window.onload=c;这样才是一个正确的设置
      

  4.   

    听了楼上几位大哥说的
    仔细想了下
    是不是因为我在调用C方法时 body对象还没有创建 
    所以 window.onload=c()时发现还没有body的对象
    也就空操作了