一个愚蠢的问题,我在Chrome浏览器中尝试过以下代码,控制台没有输出,有人会看看吗?
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>x</title>
<script type="text/javascript">
function onload(){
console.log('call');
}
window.onload= onload;
</script>
</head>
<body >
</body>
</html>
答案 0 :(得分:6)
您已进入全球范围,并且您已将您的函数命名为onload
,并因此使用您的函数使用相同名称覆盖全局window.onload
处理程序。
重命名该功能!
function myFunction(){
console.log('call');
}
window.onload = myFunction;
答案 1 :(得分:1)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>x</title>
<script type="text/javascript">
function loadMe(){
console.log('call');
}
window.onload= loadMe;
</script>
</head>
<body >
</body>
</html>
但您也可以尝试:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>x</title>
<script type="text/javascript">
function loadMe(){
console.log('call');
}
</script>
</head>
<body onload="loadMe();">
</body>
</html>
window.onload
vs body.onload
使用window.onload
,因为将结构与动作分开是很好的。