事件监听

1、事件监听的定义

关于事件监听,W3C规范中定义了3个事件阶段,依次是捕获阶段、目标阶段、冒泡阶段。

起初Netscape制定了JavaScript的一套事件驱动机制(即事件捕获)。随即IE也推出了自己的一套事件驱动机制(即事件冒泡)。最后W3C规范了两种事件机制,分为捕获阶段、目标阶段、冒泡阶段。IE8以前IE一直坚持自己的事件机制(前端人员一直头痛的兼容性问题),IE9以后IE也支持了W3C规范。

在Javascript中,浏览器一般分为两大类:

① 基于IE内核的浏览器(版本号小于9的IE浏览器)

② 基于W3C内核的浏览器(版本号大于9的IE浏览器、Firefox、Google等浏览器)

基于W3C内核的事件监听

语法:
dom对象.addEventListener(type,callback) :为W3C内核浏览器绑定事件监听

基于W3C内核的事件监听

type:绑定事件类型,不带on前缀,如clickmouseovermouseout

callback:事件的处理程序,通常是一个匿名函数

基于IE内核浏览器

语法:
dom对象.attachEvent(type,callback,capture):为元素绑定事件监听程序

参数说明:

type:绑定的事件类型,如onclickonmouseoveronmouseout

callback:事件的处理程序,通常是一个匿名函数

capture:使用的浏览器模型,冒泡模型与捕获模`型,默认IE8以下的浏览器只支持冒泡模型!

2、总结事件监听的区别

IE内核的监听方式与W3C内核的监听方式:

①方式不同

IE内核的浏览器使用attachEvent进行绑定

W3C内核的浏览器使用addEventListener进行绑定

②参数不同

IE内核浏览器,其绑定方式一共有三个参数typecallbackcapture(使用的浏览器模型)

W3C内核浏览器,其绑定方式一共有二个参数,typecallback

type参数不同

IE内核的浏览器,type是需要添加on前缀的,如onclick

W3C内核浏览器,type是不需要添加on前缀的,如click

④触发顺序不同

IE内核的浏览器,其事件监听是先绑定后触发,后绑定的先触发

W3C内核的浏览器,其事件监听是先绑定先触发,后绑定的后触发

你可能感兴趣的:(js,内核,js,dom,java,javascript)