addEventListener的一些细节描述

关于addEventListener的一些使用,经过下午对于一个按钮开关写监听的痛苦经历,决定写一篇addEventListener来填补自己的空虚。
addEventListener的参数有三个,第一个是事件,例如‘click’,‘touchstart’,去掉on,加上on的事件,一般直接加在元素的后面,例如 demo.οnmοuseenter=function(e){console.log(e)},demo是用document.querySelector()来获取元素。
第二个是事件函数,当监听到这个事件时,执行的函数,也是一个回调函数。

	addEventListener('click',function(e){console.log(e)})
	let add=function(e){
	console.log(e)
	}
	addEventListener('click',add)

以上两种方式都可以实现事件函数,一个是匿名函数,一个是函数表达式。
第三个是模式,默认是false:冒泡,true:捕捉。冒泡即使从里面往外面传,捕捉则是从外面往里面传,先后顺序的差别。
addEventListener监听函数,可以内嵌addEventListener函数,会在监听到第一个监听函数执行的事件,然后再去执行下一个监听函数。内嵌的监听函数写在事件函数内。
如何使用removeEventListener(‘click’,add,false)

三个参数,一个是要移除的事件,第二个是要移除的事件函数,第三个是冒泡或者捕捉

移除的事件函数必须是函数表达式,不能是匿名函数
必须是这样

removeEventListener('click',add,false)

不论是添加监听事件还是移除监听事件,他们的evnet和function两个参数是必须的
在内嵌监听事件的函数中,不要出现两个监听函数相同,如果出现了,那么第一次执行会成功,但是你要是想反复的话,只会直接同时执行两个监听事件,而不会异步

像这样子
addEventListener('click'function(){
console.log(’第一次’);
addEventListener('click',function(){
console.log(’第二次’)
})
})
预计出现的情况是,第一次都正常,单机一次,执行一次第一次,再单击一次执行一次第二次,
然后再单击一次执行一次单击第一次跟两次单击第二次(原因可能是卡在循环里了)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值