IE8以下的attachEvent()和其他浏览器的addEventListener()区别

addEventListener()和attachEvent()为某个元素绑定多个事件,功能一样,写法不同。
一、attachEvent()
添加事件到对象,只有IE浏览器支持attachEvent(),先看个例子:

document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;//如果这样写,只有medhot3被执行
语法element.attachEvent(type,listener)
element:元素。可以是文档节点、document、window 或 XMLHttpRequest。
type:事件类型名称。必须含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
listener:要绑定事件的名称,也就是你写好的函数,不要加括号。
执行顺序:后绑定的先执行。
请看实例
var btn = document.getElementById("btn1"); 
btn.attachEvent("onclick",method1);
btn.attachEvent("onclick",method2);
btn.attachEvent("onclick",method3);//执行顺序为method3->method2->method1

二、addEventListener()
添加事件到对象,除IE浏览器之外都支持addEventListener()。
语法element.addEventListener(type,listener,useCapture)
element:元素,可以是文档节点、document、window 或 XMLHttpRequest。
type:事件类型,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener:要绑定事件的名称,也就是你写好的函数,不要加括号。
useCapture:布尔值,false或true必须填写,true代表支持浏览器事件捕获功能,false代表支持浏览事件冒泡功能,一般用 false 。
执行顺序:先绑定的先执行。
三个参数,必须设置,缺一不可。
请看实例

var btn = document.getElementById("btn1"); 
btn.addEventListener("click",method1,false);
btn.addEventListener("click",method2,false);
btn.addEventListener("click",method3,false);//执行顺序为method1->method2->method3

三、添加监听事件的方法。

if (window.attachEvent) {  
    window.attachEvent("onload", show);  
} else if (window.addEventListener) {  
    window.addEventListener("load", show, false);    
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值