首页 > 代码库 > js原生attachEvent与addEventListener的用法

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。

js原生attachEvent与addEventListener的用法