Why is the onclick event on the body element not working?

一个人想着一个人 提交于 2020-01-13 06:04:29

问题


I'm trying to send users to another page when click html body:

JavaScript c.js:

function clickBody(){
    window.location.href = '/';
}

HTML:

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

<body onclick="clickBody();">
</body>  
</html>

I can run the function from console, but clicking the <body> is not working.


回答1:


<body> element have no height, add something like bellow:

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

<body onclick="clickBody();">

</body>  
</html>



回答2:


The <body> element is empty. You have to either change its height in CSS, or put some text in it.

Also, using element.addEventListener() might be a good idea. See addEventListener vs onclick.

See code snippet:

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

<body>
  <p>Try clicking me.</p>
</body>  
</html>


来源:https://stackoverflow.com/questions/37075058/why-is-the-onclick-event-on-the-body-element-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!