会员登陆  支付方式  联系我们  在线客服  网站地图       
首页 关于域浪 互联网数据中心业务、主机托管、主机租用、机架租用、带宽租用、机房介绍、机房对比、CCN网络加速 adsl专线、深圳adsl专线 虚拟主机、域名注册、数据库、企业邮局、动态域名 网络安全、网络临近平台、安全服务、防火去墙租用、安全产品、域浪抗DDOS防火墙、NetScreen防火墙 技术支持  
   当前位置:首页 >> 技术支持 >> JAVASCRIPT编程技巧 >> JavaScript 事件串联执行多个处理过程的方法
 
精华文章
    JavaScript 实用的一些...  
    用 JavaScript 事件在...  
    JavaScript 事件串联执...  
    Java编程基础  
    Javascript事件驱动  
    Javascript事件设计模...  
    JS的事件处理  
    JS的对象及其属性和方...  
    .JS的语句及语法  
    JS的数据类型和变量  
    JS的运行环境  
    JS与Java的区别  
    JS简介及特点  
    JavaScript引用对象的...  
    JavaScript常用内部对...  
    JavaScript 是什麽  
    在JavaScript中创建新...  
    JavaScript对象系统的...  
    JavaScript从入门到精...  
     JavaScript从入门到...  
    JavaScript事件驱动及...  
    Java网络编程  
    JavaScript[对象.属性...  
    JavaScript[对象.属性...  
    JavaScript[对象.属性...  
    用JavaScript实现浏览...  
    PHP与JavaScript对多项...  
    用JavaScrpt实现文件夹...  
  更多>>  
   JAVASCRIPT编程技巧
 JavaScript 事件串联执行多个处理过程的方法
以前写 JavaScript 程序时,事件都是采用



object.event = handler;

的方式初始化。这种方式对于 Internet Explorer、Mozilla/Firefox 和 Opera 来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。



但是 Internet Explorer 从 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 对象,其他的一些对象也支持该方法。 



  • 上一篇文章: 用 JavaScript 事件在主页上玩花样
  • 下一篇文章: Java编程基础
  • 域浪网络ISP经营许可证 深圳地址:深圳市罗湖区宝安北路国际商品交易大厦七楼C30室
    Tel:0755-82266883/82267566 Fax:0755-82261966
    邮编:518000 
                        Copyright © 2006-2008 elang.cn All Rights Reserved 深圳市域浪网络技术有限公司版权所有