1. 程式人生 > >js中有window.onload和<BODY>中的onload屬性同時存在時

js中有window.onload和<BODY>中的onload屬性同時存在時

onload

情況一,window.onload指定的function是匿名的,則只執行後者,且動作是後者的動作。如:

[html] view plain copy
<html>
<head>
<script type="text/javascript">
alert(‘a‘);
window.onload=function(){ //
alert(‘b‘);
}
alert(‘c‘);
</script>
</head>
<body onload="alert(‘d‘);">

</body>
</html>

----顯示:acd
情況二,window.onload指定的function不是匿名的,則都會執行,前者先於後者。如:
[html] view plain copy
<html>
<head>
<script type="text/javascript"> alert(‘a‘);
window.onload=fn(); // 後續腳本不執行 function fn(){
alert(‘b‘);
} alert(‘c‘);
</script>
</head>

<body onload="alert(‘d‘);">
</body>
</html>

----依次顯示:abd
window.onload在<BODY>中
情況三,window.onload指定的function是匿名的,則只執行後者,但動作前者是前者的動作。如:
[html] view plain copy
<html>
<head>
</head>
<body onload="alert(‘a‘);">
<script type="text/javascript">

alert(‘b‘);
window.onload=function (){
alert(‘c‘);
}
alert(‘d‘);
</script>
</body>
</html>

----依次顯示:bdc
情況四,window.onload指定的function不是匿名的,則都會執行,前者優於後者。如:
[html] view plain copy
<html>
<head>
</head>
<body onload="alert(‘a‘);">
<script type="text/javascript"> alert(‘b‘);
window.onload=fn(); // 後續腳本未執行 alert(‘c‘);
function fn(){
alert(‘d‘);
}
</script>
</body>
</html>

js中有window.onload和<BODY>中的onload屬性同時存在時