设计模式observer在ajax中的一个应用,解决页面onload函数同一时间只有一个可以用

本文介绍了一种使用jQuery实现页面加载完成后执行多个函数的方法。通过创建一个加载监听器数组并在页面加载时依次调用这些监听器,可以确保不同功能模块按需正确加载。此外,还提到了在IE和Firefox浏览器中实现类似功能的不同方式。

jquery下解决
每个要执行的代码自己加到队列里去,这样不同的函数就不会混在一起了

window.onloadListeners=new Array();
window.addOnLoadListener(listener){
window.onloadListeners[window.onloadListeners.length]
=listener;
}

这样window对象只要遍历这个数组就可以了

window.onload=function(){
 for(var i=0;i<window.onloadListeners.length;i++){
  var func=window.onloadListeners[i];
  func.call();
 }
}
IE下解决
window.attachEvent("onload", function(){alert("测试");}); window.attachEvent("onload", function(){alert("测试2");}); 火狐下 addEventListener 不考虑兼容问题,自己写推荐第一种,使用方便推荐第二种attachEvent(w3c标准)




委托和事件是C#语言中实现高内聚低耦合的关键特性之一,它们广泛用于实现Observer设计模式,这种模式在处理全球化应用时尤其有用。要理解这一点,首先需要掌握委托的基本概念和使用方式,然后是事件的机制以及如何通过委托和事件来实现观察者模式。 参考资源链接:[C#委托和事件详解:从入门到精通](https://wenku.csdn.net/doc/3me1ade5dp?spm=1055.2569.3001.10343) 在C#中,委托可以看作是对具有特定参数列表和返回类型的方法的引用。委托类似于C或C++中的函数指针,但是更安全,类型更安全。事件是基于委托的一种特殊类型的委托,它通常用来响应某些操作或状态的变化。 要使用委托和事件实现Observer设计模式,你可以创建一个事件发布者类和一个或多个事件订阅者类。发布者类定义一个事件和一个委托,订阅者类在适当的时候订阅这个事件,当事件发生时,发布者会通知所有订阅者。这样的设计模式能够确保当对象的状态发生变化时,所有依赖于该对象的对象都会得到更新。 在实现全球化应用时,Observer模式可以用于实现语言环境变化的监听。例如,如果你的应用支持多语言,当用户切换语言时,界面元素和消息都应该相应地更新,以反映新的语言环境。此时,可以通过事件委托来实现语言变化的观察。 具体实现步骤如下: 1. 定义一个语言枚举,列出所有支持的语言。 2. 创建一个事件发布者类,包含一个委托和一个语言变更事件。 3. 创建一个观察者接口,定义语言变更时需要执行的方法。 4. 实现多个观察者类,它们实现观察者接口,并订阅语言变更事件。 5. 在事件发布者类中,当语言变更时触发事件,通知所有订阅者更新语言。 6.应用程序中,当语言环境变化时,发布事件,观察者接收到事件后执行相应的更新操作。 通过以上步骤,你可以使用委托和事件在C#中实现Observer设计模式,并且可以在全球化应用场景中灵活地处理语言变化。 为了深入理解这些概念和技术,建议查看《C#委托和事件详解:从入门到精通》。这本教程不仅详细解释了委托和事件的基础知识,还包括了如何在实际项目中应用这些概念,特别是在设计模式和全球化方面。掌握了委托、事件以及它们在Observer模式中的应用之后,你将能够构建更加灵活和可维护的C#应用程序。 参考资源链接:[C#委托和事件详解:从入门到精通](https://wenku.csdn.net/doc/3me1ade5dp?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值