event对象: 用来获取事件的详细信息:鼠标位置、键盘按键
火狐、低版本的chrome不兼容
解决:var oEvent = ev || event;
举个栗子1:不管鼠标点击哪里,都会有反应
你可能会想到直接给body设置点击事件,运行后发现没反应
原因: body的height是由里面的内容撑开的,当里面为空时,body高度为0,此时点击页面自然没反应。
解决:给document设置点击事件,document代表的是整个网页
这里做个延伸:
document 的childNodes[0] 是 “!(<!DOCTYPE html>)”
childNodes[1] 是 html
获取鼠标位置
<script>
function getPos(e) {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
return {x: e.clientX+scrollLeft, y: e.clientY+scrollTop};
} //加上滚动条的高度和宽度
window.onload = function () {
var aDiv = document.getElementsByTagName('div');
document.onmousemove = function (e) {
var e = e || event;
var pos = getPos(e);
for (var i=aDiv.length-1; i>0; i--) {
aDiv[i].style.left = aDiv[i-1].offsetLeft + 'px';
aDiv[i].style.top = aDiv[i-1].offsetTop + 'px';
} //使一个物体的位置跟前一个物体的位置移动
aDiv[0].style.left = pos.x + 'px';
aDiv[0].style.top = pos.y + 'px';
};
};
</script>