鍍金池/ 問答/HTML5  PHP  HTML/ <!DOCTYPE html>與onmousedown發(fā)生沖突是ev

<!DOCTYPE html>與onmousedown發(fā)生沖突是event不生效,為什么會這樣?要怎么修改?

在body標簽中使用了onmousedown用來監(jiān)聽鼠標事件,但是事件完全不生效。百度后都說是 <!DOCTYPE html>使event不生效。有說因為寬度問題,但是都試過還沒作用。如果去掉 <!DOCTYPE html>就可以生效使用

代碼如下:

<!DOCTYPE html>
<html>
  <head>
    <title>objecjs20.html</title>
    <script language="javascript" type="text/javascript">
    <!--
        function show_coords(e){
        x=e.clientX;
        y=e.clientY;
        alert(e+"--X 坐標:"+x+",Y 坐標:"+y);
        }
    //-->
    </script>
  </head>
  <body onmousedown="show_coords(e)">
  <div height="100%" width="100%">fdjl</div>
  </body>
</html>
回答
編輯回答
避風港

1、文檔模式
沒有文檔模式時,是處于混雜模式下,html 和 body 會充滿全屏。
<!DOCTYPE html> 會開啟標準模式,標準模式下默認 html 和 body 沒有高度。
這時可以這樣設置。

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

2、傳入事件
如果是在 html 標簽中,想傳入事件,應該用 event 而不是 e 。

<body onmousedown="show_coords(event)">
2017年9月9日 03:04
編輯回答
苦妄

判斷一下是否有,

function show_coords(e){
var _event = e || event
......
}
2017年8月29日 09:07