Javascript学习__事件

前言

Javascript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件(event)来处理的.

DOM事件流:

DOM同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生.两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束.

DOM事件模型最独特的性质是,文本节点也触发事件(IE不会).

如果要对兼容DOM标准的浏览器进行开发,这是非常重要的一个概念,忘记文本节点也会触发DOM中的事件,是使在较新的浏览器上进行开发的人员头疼的头号原因.

事件处理函数/监听函数.

事件是用户或浏览器自身进行的特定行为,这些事件都有自己的名字,如Click(点击),load(载入),mouseover(鼠标经过).用于响应某个事件而调用的函数称为事件处理函数(event handler).或者DOM称为事件监听函数.我们一般认为响应点击事件的函数是onclick事件处理函数

在IE中,每个元素和window对象都有两个方法.attachEvent()和detachEvent().

attachEvent()用来给一个事件附加事件处理函数.

detachEvent()用来将事件处理函数分离出来.每个方法都有两个参数:要分配的事件处理函数的名字.

oDiv.attachEvent("onclick",fnClick); //add the event handler

oDiv.detachEvent("onclick",fnClick);//remove the event handler

DOM:

DOM方法addEventListener()和removeEvetListener()用来分配和移除事件处理函数.需要三个参数:事件名称,要分配的函数和处理函数是用于冒泡阶段还是捕获阶段.如果事件处理函数是用于捕获阶段,第三个参数为true,用于冒泡阶段,则为false.

事件对象

引起事件的对象

事件发生时鼠标的信息

事件发生时键盘的信息

事件对象只在发生事件时,才被创建,且只有事件处理函数才能访问.所有事件处理函数执行完毕后,事件对象就被销毁.

var oEvent = window.event;

检测事件类型

oEvent.type;   

获取按键代码

oEvent.keyCode;

检测shift,Alt,Ctrl键.

oEvent.altKey; oEvent.shiftKey; oEvent.ctrlkey;

获取客户端坐标

oEvent.clientx;  oEvent.clientY.

获取屏幕坐标

oEvent. screenX;  oEvent.screenY.

posted @ 2014-04-07 01:34  Mr.liub  阅读(327)  评论(0编辑  收藏  举报