为什么body元素上的onclick事件不起作用?

use*_*597 2 html javascript onclick

我点击html正文时尝试将用户发送到另一个页面:

JavaScript c.js:

function clickBody(){
    window.location.href = '/';
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<!DOCTYPE html>
<html>
<head>
    <script src="c.js"></script>
</head>

<body onclick="clickBody();">
</body>  
</html>
Run Code Online (Sandbox Code Playgroud)

我可以从控制台运行该功能,但单击该<body>功能不起作用.

Mic*_*ski 14

<body>元素为空.您必须在CSS中更改其高度,或在其中放入一些文本.

此外,使用element.addEventListener()可能是一个好主意.请参阅addEventListener vs onclick.

请参阅代码段:

function clickBody() {
    window.location.href = '/'
}
document.body.addEventListener("click", clickBody)
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
    <script src="c.js"></script>
</head>

<body>
  <p>Try clicking me.</p>
</body>  
</html>
Run Code Online (Sandbox Code Playgroud)


Shi*_*jin 5

<body> 元素没有高度,请添加以下内容:

<!DOCTYPE html>
<html>
<head>
  <style>
    body {
     height: 500px;
    }
  </style>
  <script src="c.js"></script>
</head>

<body onclick="clickBody();">

</body>  
</html>
Run Code Online (Sandbox Code Playgroud)