手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >用JavaScript事件串连执行多个处理过程的方法
用JavaScript事件串连执行多个处理过程的方法
摘要:最近用到JavaScript事件处理机制,找了些资料。以前写JavaScript程序时,事件都是采用复制代码代码如下:object.even...

最近用到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(document.all){

window.attachEvent('onload',handler1);

window.attachEvent('onload',handler2);

}

else{

window.addEventListener('load',handler1,false);

window.addEventListener('load',handler2,false);

}

注意:attachEvent所指派的多个过程的执行顺序是随机的,所以这几个过程之间不要有顺序依赖。另外attachEvent和addEventListener不仅仅适用于window对象,其他的一些对象也支持该方法。

复制代码 代码如下:

functionaddEvent(obj,evenTypeName,fn){

if(obj.addEventListener){

obj.addEventListener(evenTypeName,fn,true);

returntrue;

}elseif(obj.attachEvent){

returnobj.attachEvent("on"+evenTypeName,fn);

}else{

returnfalse;

}

}

【用JavaScript事件串连执行多个处理过程的方法】相关文章:

JavaScript获取并更改input标签name属性的方法

javascript实现动态改变层大小的方法

JavaScript实现鼠标拖动效果的方法

javascript实现在网页任意处点左键弹出隐藏菜单的方法

JavaScript实现表格点击排序的方法

浅谈利用JavaScript进行的DDoS攻击原理与防御

JavaScript中的substr()方法使用详解

JavaScript模版引擎的基本实现方法浅析

JavaScript中的pow()方法使用

JavaScript中Number.MAX_VALUE属性的使用方法

精品推荐
分类导航