addEventListener方法与attachEvent方法功能相同.但是addEventListener是W3C标准,而attachEvent非W3C标准,且只支持IE浏览器.

虽然addEventListener属于标准方法,但依然无法在IE下运行.IE不支持该方法.addEventListener带有三个参数.必须设置.缺一不可.

addEventListener可以为网页内某个元素动态绑定一个事件.事件类型可随意指定.如:click,mousemove,keyup等.
通常你想为某个按扭添加一个单击事件时.你都会在按扭内写上onclick=事件名称.使用addEventListener则不必这样做.你把写好的事件准备好,在需要的时候给元素绑定上再执行.而且addEventListener支持为某个元素绑定多个事件.执行顺序是,先绑定的先执行.

Element.addEventListener(Etype,EventName,boole)

Element:任意的html元素,要绑定事件的主体.
Etype:事件类型.比如:click,keyup,mousemove.注意使用addEventListener绑定事件时,设置参数事件类型时不必写on.否则会出错.
EventName:要绑定事件的名称.也就是你写好的函数.
boole:该参数是一个布尔值:false或true必须填写.false代表支持浏览器事件捕获功能,true代表支持浏览事件冒泡功能.

如果想删除事件请使用removeEventListener

<body>
    <input type="button" id="a" value="点我" />点我没有事件发生<br>
    <input type="button" id="b" value="点击我添加事件" onclick="addEvent()"/>为上面按钮添加事件,并注意上面按钮的变化<br>
  <script type="text/javascript">
  <!--
    function addEvent(){
      var a=document.getElementById("a");
      a.value="点我有事件";
      a.addEventListener("click",hello,false);
    }

    function hello(){
      alert("hello");
      var a=document.getElementById("a");    //需要重新定义,不能直接使用上面定义的
      a.removeEventListener("click",hello,false);
    }
  //-->
  </script>
</body>