设计模式之观察者模式(订阅模式),jquery实现
来源:互联网 发布:python 冒号的作用 编辑:程序博客网 时间:2024/06/04 19:40
<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> $(function(){//利用jquery带的on,off,trigger方法实现观察者模式(又名订阅者模式)var observice = $({});//生成订阅初始jquery对象observice.customers = [$({name:"Amy"})];//注册订阅对象observice.addCustomer = function(ob){//允许新增新的订阅对象observice.customers.push($(ob));}observice.publiced = function(name,message){//订阅消息发布接口$.each(observice.customers,function(i,ele){ele.trigger(name,message);})}observice.subscribe = function(name){//为订阅对象订阅消息类型$.each(observice.customers,function(i,ele){ele.on(name,function(e,message){console.log(message);alert(ele[0].name+'收到 '+name+' 订阅消息, '+'消息内容为: '+message.message);})})}observice.unsubscribe = function(name){//为订阅对象取消消息订阅$.each(observice.customers,function(i,ele){ele.off(name);})}//执行操作observice.addCustomer({name:"KDS"});observice.subscribe("s");observice.subscribe("a");observice.subscribe("篮球周刊");observice.unsubscribe("s");//observice.publiced("s");//observice.publiced("a");observice.publiced("篮球周刊",{'message':'奥多姆复婚,嫖娼挽回感情!'}); }); </script> <title>观察者模式</title> </head> <body> </body></html>
0 0
- 设计模式之观察者模式(订阅模式),jquery实现
- 十六 设计模式之观察者模式(发布订阅模式)
- 设计模式之观察者模式(发布-订阅模式)
- PHP设计模式-观察者模式(订阅者模式)
- 监听器设计模式(观察者模式、订阅发布模式)
- PHP设计模式-观察者模式(订阅者模式)
- PHP设计模式-观察者模式(订阅者模式)
- Javascript设计模式-07-观察者模式(发布订阅模式)
- 设计模式二:观察者模式(发布订阅模式)
- java笔记--设计模式之观察者(订阅/发布)模式
- 设计模式之观察者模式(发布-订阅模式publish/Subscribe)
- java设计模式-观察者(发布-订阅)模式
- 设计模式(三)观察者模式Observer(发布订阅)
- java设计模式-观察者模式(广播机制,消息订阅)
- scala实现设计模式之观察者模式
- Java实现设计模式之观察者模式
- 设计模式之观察者设计模式(C++实现)
- 观察者模式之二 -发布 订阅模式
- 现学现卖 LaTeX输入界面更改
- Swift and ObjectiveC Interop (Swift 与 Objective-C 之间的交互)
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第四题:史丰收速算(7' )
- Jenkins Email Extension Plugin 引用变量${FILE}时乱码
- AES加密和解密
- 设计模式之观察者模式(订阅模式),jquery实现
- 简单的分页js代码
- window.location.href不起作用的原因分析
- hihocoder 1122 : 二分图二•二分图最大匹配之匈牙利算法
- VMware扩展磁盘大小
- 关于支付宝分享集成
- 今天在做一个SSH整合测验时发现了一个异常(According to TLD or attribute directive in tag file)
- 在Unity世界里遇到的第一个错误!
- Mysql没有初始密码(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO))