Javascript 公共发布订阅组件
时间:2020-04-26
本文章向大家介绍Javascript 公共发布订阅组件,主要包括Javascript 公共发布订阅组件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
EventContainer:发布-订阅公共组件
//发布-订阅组件 function EventContainer(){ var _events={}; this.subscribe=function(event,func){ if(Object.prototype.toString.apply(_events[event])!=="[object Array]"){ _events[event]=[]; } _events[event].push(func); }; this.trigger=function(event){ var handlers = _events[event]; if(Object.prototype.toString.apply(handlers)==="[object Array]"){ for (var i = 0,len=handlers.length; i <len; i++) { handlers[i](); } } }; }
ShopcartBusiness:购物车页面逻辑
function ShopCartBusiness(){ if (window.eventContainer===undefined) { window.eventContainer=new EventContainer(); } window.eventContainer.subscribe("login",function(){ alert("login success!"); }); window.eventContainer.subscribe("login",function(){ alert("login success2!"); }); window.eventContainer.subscribe("regist",function(){ alert("regist success!"); }); //打开登录弹窗 var loginBox = new LoginBox(); } var shopCart = new ShopCartBusiness();
LoginBox:弹窗逻辑
function LoginBox(){ if (window.eventContainer===undefined) { window.eventContainer=new EventContainer(); } var _initEvents=function(){ $("#btnLogin").on("click",function(){ window.eventContainer.trigger("login"); }); $("#btnRegist").on("click",function(){ window.eventContainer.trigger("regist"); }); }; _initEvents(); }
原文地址:https://www.cnblogs.com/fanfan-90/p/12781680.html
- javascript 红皮高程(19)-- 逻辑与
- 技术分享 | 浅谈 RAS
- Sniper-OJ 练习平台多题WriteUp
- 怎么能学透一个知识点
- Jarvis-OJ平台多题WriteUp分享
- 会员提问 之 JS中的私有方法有什么意义?
- 本周末的QQ群视频--还是电商网站的事
- 【译】使用Apache的mod重写来保护你的C2 Empire
- 大白话,设计一个购物车对象
- 【译】Cromos – 下载并注入代码到谷歌 Chrome 浏览器扩展中
- X-NUCA 2017第三期 WriteUp
- 学习分享 | Flipped Ciphertext Bits
- 聊一下JavaScript定时器
- java redis 通用组建
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 问题 1432: [蓝桥杯][2013年第四届真题]剪格子
- 问题 1426: [蓝桥杯][历届试题]九宫重排
- mock测试及jacoco覆盖率
- HDU 1495 非常可乐 最简单的的解决方案
- Performing Push Install adb: error: failed to get feature set: more than one 解决方案
- Shell Style Guide
- 10分钟搞定OAuth2.0授权服务
- IP 地址大解密
- 曾经,我以为我很懂MySQL索引
- AES加解密工具类AESUtil记录
- iOS逆向之使用unc0ver越狱 iOS13.5
- Spring @Autowired npe example:Why your Spring @Autowired component is null
- Spring JPA 查询创建
- 『Python动手学』Python处理.mat文件
- Swift 打开三方地图 腾讯地图、百度地图、高德地图、Apple 地图