JS事件监听详解

一、DOM.addEventListener(事件类型,事件回调函数)

给DOM元素添加一个事件监听,只能收到对应事件类型的消息,收到这个消息时,执行事件回调函数

function   事件回调函数(e){

}

1、事件回调函数有且仅有一个参数e;

2、e是一个事件对象,侦听事件收到消息时获得的事件对象;

3、事件函数不能写return返回值,但是可以用return跳出;

二、事件的侦听和抛发(自定义事件需要向document抛发)

红的框里的两处必须一摸一样;

三、事件传递(将obj2中的c中的参数传入到obj1中的b中)

四、事件的三个阶段(捕获,目标,冒泡)

div.addEventListener(事件类型,事件回调函数,是否捕获时执行)

e.stopPtopagation()   停止冒泡;

e.cancelBubble=true;       IE8及以下的停止冒泡;

1事件类型:必须是字符串,可以设为任意字符串,但部分字符串是系统事件类型;

2、事件回调函数:指向一个函数,当收到事件时执行函数,若没有收到,则不执行,写侦听事件时不执行;

3、是否捕获时执行:默认值是false,在冒泡时执行,捕获时不执行,若将false设为true,在捕获时执行;

五、事件监听和删除;

div.removeEventListener(“事件类型”,事件的回调函数);

 IE8及以下,div.detachEvent(on+事件类型,事件的回调函数)

六、事件侦听的区别

1、addEventListener:  IE8以上支持,事件类型是type,有捕获,冒泡阶段选项;

2、attachEvent:   仅支持IE8及以下,事件类型是on+type,无捕获,冒泡阶段选项;

3、onclick=函数,任何浏览器都支持,

缺点:同一个事件不能执行多个函数,没有捕获冒泡阶段选项,仅是冒泡阶段,使用的匿名函数,也会造成多个事件不能执行同一个函数;

猜你喜欢

转载自www.cnblogs.com/wang1can/p/12640136.html
今日推荐