js学习笔记之事件1

来源:互联网 发布:史上最好玩的游戏不需要网络 编辑:程序博客网 时间:2024/06/08 19:34

事件对象

//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码

例子:通过键盘来移动盒子位置