javascript事件侦听器是什么东西,用来干哈子

在这里插入图片描述
平常使用 on+事件类型绑定事件有缺陷:

btn.onclick=function(){
    console.log(456);
     }

现在需要给这个事件再绑定一次

btn.onclick=function(){
    console.log(456);
     }

同类型的事件,只能绑定一次。因为直接赋值会将上面的值覆盖掉
在这里插入图片描述
解决这个问题? - 换个绑定方式,再绑定一次
有一个事件侦听器,可以解决咱们的问题

事件侦听器的语法:
元素.addEventListener(“事件类型不加on”,事件处理函数,事件是否在捕获阶段执行);
第三个参数是可选项,默认值是false

 btn.addEventListener("click",function(){
    console.log(123);
},false);// 最后一个参数表示是否在捕获阶段执行

事件侦听器就相当于换了个方式绑定事件

事件侦听器在低版本IE中有兼容问题
针对低版本ie的写法: 元素.attachEvent(“on加事件类型”,处理函数);
没有第三个参数 - 在低版本IE中,不存在捕获阶段
IE中只有目标阶段和冒泡阶段

封装函数 - 通用的绑定事件的方法

function bind(ele,type,handler){
    if(ele.addEventListener){ // 如果有 - true ,如果没有 undefined - false
        ele.addEventListener(type,handler);
    }else if(ele.attachEvent){
        ele.attachEvent("on"+type,handler);
    }else{
        ele.onclick=handler;
    }
}
bind(big,"click",fn);
function fn(){
    console.log(123);
}
function fun(){
    console.log(456);
}
bind(big,"click",fun);

事件侦听器就是为了解决同类型事件绑定的缺陷,感觉有了它,猿叔叔再也不会为事件绑定而烦恼了
在这里插入图片描述**加粗样式**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值