addEventListener方法与attachEvent方法功能相同.但是addEventListener是W3C标准,而attachEvent非W3C标准,且只支持IE浏览器.
如果想删除事件请使用removeEventListener
虽然addEventListener属于标准方法,但依然无法在IE下运行.IE不支持该方法.addEventListener带有三个参数.必须设置.缺一不可.
addEventListener可以为网页内某个元素动态绑定一个事件.事件类型可随意指定.如:click,mousemove,keyup等.
通常你想为某个按扭添加一个单击事件时.你都会在按扭内写上οnclick=事件名称.使用addEventListener则不必这样做.你把写好的事件准备好,在需要的时候给元素绑定上再执行.而且addEventListener支持为某个元素绑定多个事件.执行顺序是,先绑定的先执行.
通常你想为某个按扭添加一个单击事件时.你都会在按扭内写上οnclick=事件名称.使用addEventListener则不必这样做.你把写好的事件准备好,在需要的时候给元素绑定上再执行.而且addEventListener支持为某个元素绑定多个事件.执行顺序是,先绑定的先执行.
Element.addEventListener(Etype,EventName,boole)
Element:任意的html元素,要绑定事件的主体.
Etype:事件类型.比如:click,keyup,mousemove.注意使用addEventListener绑定事件时,设置参数事件类型时不必写on.否则会出错.
EventName:要绑定事件的名称.也就是你写好的函数.
boole:该参数是一个布尔值:false或true必须填写.false代表支持浏览器事件捕获功能,true代表支持浏览事件冒泡功能.
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>
< 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>
转载于:https://blog.51cto.com/myoraclex/467768