事件对象
//ie 用event
//火狐、chrome 用ev
获取鼠标坐标 有问题-_-
event.clientX event.clientY
处理兼容
oEvent= ev || event
oEvent.clientX oEvent.clientY
事件流
事件冒泡:当触发事件时,会一层层向上传,从而引发父级触发事件
cancelBubble 取消冒泡
clientX clientY 可视区里的坐标。所以,当页面过长而滑动了滚动条时,-_-
解决:
scrollTop=document.documentElement.scrollTop || document.body.scrollTop
scrollLeft=document.documentElement.scrollLeft || document.body.scrollLeft
鼠标事件
document.body.onclick
给body添加点击事件,当body撑不起来时,就会产生点击无效的效果。
解决:
document.onclick
例子:下拉框,点击时出现,点击页面其他的位置使其隐藏
onmousemove
例子:让一些小东西跟着鼠标(tips:记得给要移动的东西加position:absolute;-_-)
//获取坐标函数
function getPos(ev)
{
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;
return {x:scrollLeft+ev.clientX,y:scrollTop+ev.clientY};
};
键盘事件
onkeydown
onkeyup
keyCode返回的是触发事件的键盘键的ASCII码
例子:通过键盘来移动盒子位置