首页 > 编程语言 > 详细

原生javascript 的分享:事件侦听器

时间:2020-03-15 22:07:06      阅读:73      评论:0      收藏:0      [点我收藏+]

我们平常使用 on+事件类型绑定事件,这种绑定是有缺陷的,如代码:

btn.onclick=function(){

    console.log(123);

}

btn.onclick=function(){

    console.log(456);

}

 

同类型的事件,只能绑定一次,因为直接赋值会将上面的值覆盖掉,即输出的是:

456

 

 

有一个事件侦听器,可以解决这个的问题:

事件侦听器的语法:元素.addEventListener("事件类型不加on",事件处理函数,事件是否在捕获阶段执行);

第三个参数是可选项,默认值是false

如代码:

btn.addEventListener("click",function(){

    console.log(123);

},false);

btn.addEventListener("click",function(){

    console.log(456);

},false);

这样输出的就是:

123

456

 

 

事件侦听器在低版本IE中有兼容问题

针对低版本ie的写法:  

 

元素.attachEvent("on加事件类型",处理函数);

 

没有第三个参数 - 在低版本IE中,不存在捕获阶段

IE中只有目标阶段和冒泡阶段

 

侦听器的兼容写法:

//兼容写法:
if(btn.addEventListener){
    btn.addEventListener("click",function(){
        console.log(123);
    });
    btn.addEventListener("click",function(){
        console.log(456);
    });
}else{
    btn.attachEvent("onclick",function(){
        console.log(123);
    });
    btn.attachEvent("onclick",function(){
        console.log(456);
    });
}

 

原生javascript 的分享:事件侦听器

原文:https://www.cnblogs.com/dawn2309/p/12499562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!