六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 202|回复: 0

window.attachEvent 和addEventListener

[复制链接]

升级  90%

11

主题

11

主题

11

主题

童生

Rank: 1

积分
45
 楼主| 发表于 2013-1-29 08:47:51 | 显示全部楼层 |阅读模式
以前写JavaScript脚本时,事件都采用object.event = handler的方式绑定。这种方式对于Internet Explorer、Mozilla/Firefox和Opera来说很通用。但有一个问题,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执执行多个处理过程,就不好用了。

Internet Explorer从5.0开始,提供了一个attachEvent方法,使用这个方法,可以一个事件,绑定多个处理过程。但是Mozilla/Firefox并不支持这个方法,它使用另外一个方法addEventListener。它们之间有少许区别,在attachEvent方法中,事件是以"on"开头的,而addEventListener,事件不是以"on"开头,另外,addEventListener还有第三个参数,一般指定false就可以。

因此,在程序中,给一个事件指派多个处理过程的话。需要根据不同的浏览器,选择使用attachEvent和addEventListener。示例如下:

if (window.attachEvent) {window.attachEvent("onload", foo);} else if (window.addEventListener) {window.addEventListener("load", foo, false);}function foo() {alert("ok");}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表