js原生attachEvent与addEventListener的用法

现在jquery比较流行,所以我们用得比较多的是jquery,很少用原生的js. 不过还是要了解一下滴。

代码如下:

<a id="btnClick" href="javascript:void(0);">点击我</a>

如果我们要给该按钮的点击按钮绑定三个函数,对js了解比较少的人容易写成这样:

<script type="text/javascript">
var ele=document.getElementById("test");
ele.click=method1;
ele.click=method2;
ele.click=method3;
</script>

这是错误的,因为点击事件只会执行函数3。所以我们需要用到attachEvent和addEventListener事件,attachEvent只适用于ie浏览器,而addEventListener只适用于火狐

浏览器。综上正确的写法如下:

<script type="text/javascript">
var ele=document.getElementById("test");
if(window.attachEvent){
    ele.attachEvent("onclick",function(){alert("你点击了我");})
    ele.attachEvent("onclick",function(){alert("你又点击了我");})
    ele.attachEvent("onclick",function(){alert("你又又点击了我");})
}else{
    ele.addEventListener("click",function(){alert("你点击了我");})
    ele.addEventListener("click",function(){alert("你又点击了我");})
    ele.addEventListener("click",function(){alert("你又又点击了我");})
}

</script>

细心的人会发现,用attachEvent时我们用的是onclick,用addEventListener时用的是click.

同时,移除绑定的函数用到的分别是deattachEvent和removeEventListener。

人生短短几十年,要在有限的生命里多做店有意义的事情。莫要让自己迎合别人的眼光活着。随心而为,听从心的声音。讨好自己,悠哉悠哉!
原文地址:https://www.cnblogs.com/jiaojiaome/p/4128502.html