为了账号安全,请及时绑定邮箱和手机立即绑定

<!DOCTYPE html>与onmousedown发生冲突是event不生效,为什么会这样?

<!DOCTYPE html>与onmousedown发生冲突是event不生效,为什么会这样?

尚方宝剑之说 2019-03-15 14:15:13
在body标签中使用了onmousedown用来监听鼠标事件,但是事件完全不生效。百度后都说是 <!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>
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

1、文档模式 

没有文档模式时,是处于混杂模式下,html 和 body 会充满全屏。

<!DOCTYPE html> 会开启标准模式,标准模式下默认 html 和 body 没有高度。

这时可以这样设置。


html, body {

  height: 100%;

  margin: 0;

  padding: 0;

}

2、传入事件 

如果是在 html 标签中,想传入事件,应该用 event 而不是 e 。


<body onmousedown="show_coords(event)">


查看完整回答
反对 回复 2019-03-28
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

判断一下是否有,


function show_coords(e){

var _event = e || event

......

}


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 401 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信