[转] body onclick 事件

测试的网页结构如下:

<!DOCTYPE html>
<html>
<head>
    <title>标题</title>
</head>
<body οnclick="alert(1);">
<div>aaaaaaa</div>
</body>
</html> 

打开网页后,点击空白处并不会触发body的onclick事件。只有点击有文字的那一行才会触发。说明body没有充满网页。

但奇怪的是IE、Chrome如上面所说。而火狐点击空白处会触发onclick事件。

为了看一下body的范围,加上如下样式

<style type="text/css">
body{background-color:#eee;}
</style> 

重新刷新网页,整个网页背景都变成了#eee,难道body真撑满了?

将样式修改如下:

html{background-color:white;}
body{background-color:#eee;}

重新刷新,这下终于看清了,body只是顶上很小的范围。

如何让body充满呢?修改样式如下:

html{background-color:white; height:100%;}
body{background-color:#eee; height:100%; margin:0px;}

刷新后,看到body充满了真个网页,点击事件也都可以响应了。

如果将样式修改为:

html{background-color:white; height:100%;}
body{background-color:#eee; height:100%; margin:0px auto; width:900px; }

会看到body在页面中居中了,并且有颜色区分。

后记

如将代码修改如下:

<!DOCTYPE html>
<html>
<head>
    <title>标题</title>
    <style type="text/css">
        html{background-color:white; height:100%;}
        body{background-color:#eee; height:100%; margin:0px auto; width:900px; }
    </style> 

</head>
<body οnclick="alert(1);">
<div><h1>aaaaaaa</h1></div>
</body>
</html> 

如果HTML中第一个元素是H1,则在IE8、Chrome、FireFox中会在顶部出现一个白条。这是因为H1的margin引起的,只要H1将margin-top:0px就可以了;


转载自[http://www.cnblogs.com/zjfree/]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值