一、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=函数,任何浏览器都支持,
缺点:同一个事件不能执行多个函数,没有捕获冒泡阶段选项,仅是冒泡阶段,使用的匿名函数,也会造成多个事件不能执行同一个函数;