前端开发界面端web前端

JavaScript的事件概念和事件监听

2019-05-31  本文已影响263人  MY代码世间


1、事件的概念:

JavaScript使我们有能力创建动态页面,网页中的每一个元素都可以产生某些触发JavaScript函数的事件。我们可以认为事件是可以被JavaScript侦测到的一种行为。

2、事件流:

事件流主要分为冒泡型事件和捕获型事件。IE浏览器目前只支持冒泡型事件,而支持标准DOM的浏览器比如火狐、Chrome等两者都支持。

 3、使用返回值改变HTML元素的默认行为:

  HTML元素大都包含了自己的默认行为,例如:超链接、提交按钮等。我们可以通过在绑定事件中加上"return false"来阻止它的默认行为。

4、通用性的事件监听方法:

  (1)绑定HTML元素属性:

    <input type="button" value="clickMe" onclick="check(this)">

  (2)绑定DOM对象属性:

    document.getElementById("xxx").onclick=test;

5、不常用的事件监听:

  5.1  IE中的监听方法:

5.1.1  [object].attachEvent("事件类型","处理函数");//添加监听

5.1.2  [object].detachEvent("事件类型","处理函数");//取消监听

5.2  标准DOM中的事件监听方法:

5.2.1  [object].addEvent("事件类型","处理函数","冒泡事件或捕获事件");

5.2.2  [object].removeEvent("事件类型","处理函数","冒泡事件或捕获事件");

    提示:IE监听方法中事件类型和标准DOM监听方法中的事件类型写法有点不同,前者事件类型用“on”开头,不如:“onclick”、“onmousemove”等,而后者不需要“on”,就是“click”、“mousemove”等。

6、标准事件流:

  6.1  举个例子:冒泡事件(从内至外)

  运行结果是

  6.2  冒泡事件和捕获事件的比较

  运行结果:

  倘若把addEventListener中的true改为false,那么运行结果为:

7、访问事件对象:

事件对象封装了事件发生的详细信息,尤其是鼠标、键盘事件。如鼠标事件发生的位置、键盘事件的键盘键等。

7.1  IE中的事件对象:

IE中的事件对象是一个隐式可用的全局对象:event,它是window对象的一个属性。

7.2  标准DOM的事件对象:

在标准DOM浏览器检测发生了某个事件时,将自动创建一个Event对象,并隐式地将该对象作为事件处理函数的第一个参数传入

//IE中得到事件对象

op.onclick=function(){

var oEvent=window.event;

}

//标准DOM中得到事件对象

op.onclick=function(oEvent){

//作为参数传进来

}

经验之谈:为了兼容不同的浏览器,通常采用下面的方法得到事件对象。

op.onclick=function(oEvent){

if(window.event){

oEvent=window.event;

        }

}

  Event事件对象常用的属性:

8、常用的事件类型:

  8.1  常用的鼠标事件:

8.2  常用的键盘事件:

  8.3  HTML事件:

上一篇下一篇

猜你喜欢

热点阅读