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。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。