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

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

在body標(biāo)簽中使用了onmousedown用來(lái)監(jiān)聽(tīng)鼠標(biāo)事件,但是事件完全不生效。百度后都說(shuō)是 <!DOCTYPE html>使event不生效。有說(shuō)因?yàn)閷挾葐?wèn)題,但是都試過(guò)還沒(méi)作用。如果去掉 <!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 坐標(biāo):"+x+",Y 坐標(biāo):"+y);
        }
    //-->
    </script>
  </head>
  <body onmousedown="show_coords(e)">
  <div height="100%" width="100%">fdjl</div>
  </body>
</html>
回答
編輯回答
避風(fēng)港

1、文檔模式
沒(méi)有文檔模式時(shí),是處于混雜模式下,html 和 body 會(huì)充滿全屏。
<!DOCTYPE html> 會(huì)開(kāi)啟標(biāo)準(zhǔn)模式,標(biāo)準(zhǔn)模式下默認(rèn) html 和 body 沒(méi)有高度。
這時(shí)可以這樣設(shè)置。

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

2、傳入事件
如果是在 html 標(biāo)簽中,想傳入事件,應(yīng)該用 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