您的位置:时时彩走势图 > 重庆时时五星彩走势图-服务器运维 > 也是用来给一个事件指派多个处理过程的

也是用来给一个事件指派多个处理过程的

2020-01-17 14:05

最近用到JavaScript事件处理机制,找了些资料。 以前写JavaScript程序时,事件都是采用复制代码 代码如下:object.event=handler; 的方式初始化。这种方式对于InternetExplorer、Mozilla/Firefox和Opera来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。 但是InternetExplorer从5.0开始提供了一个attachEvent方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent对于目前的Opera也适用。但是问题是Mozilla/Firefox并不支持这个方法。但是它支持另一个addEventListener方法,这个方法跟attachEvent差不多,也是用来给一个事件指派多个处理过程的。但是它们指派的事件有些区别,在attachEvent方法中,事件是以“on”开头的,而在addEventListener中,事件没有开头的“on”,另外addEventListener还有第三个参数,一般这个参数指定为false就可以了。 因此要想在你的程序中给一个事件指派多个处理过程的话,只要首先判断一下浏览器,然后根据不同的浏览器,选择使用attachEvent还是addEventListener就可以了。实例如下: 复制代码 代码如下:if{ window.attachEvent; window.attachEvent; } else{ window.addEventListener('load',handler1,false); window.addEventListener('load',handler2,false); }注意:attachEvent所指派的多个过程的执行顺序是随机的,所以这几个过程之间不要有顺序依赖。另外attachEvent和addEventListener不仅仅适用于window对象,其他的一些对象也支持该方法。复制代码 代码如下:functionaddEvent{ if{ obj.addEventListener; returntrue; }elseif{ returnobj.attachEvent; }else{ returnfalse; } }

本文由时时彩走势图发布于重庆时时五星彩走势图-服务器运维,转载请注明出处:也是用来给一个事件指派多个处理过程的

关键词: