JS模式之发布/订阅模式
2014-09-05 17:22
218 查看
有时在JS中需要定义特定的事件,这些事件可以传递自定义参数。此时可以采用发布/订阅模式。
发布/订阅模式简单实现如下:
发布/订阅模式简单实现如下:
<script type="text/javascript"> var pubsub = {}; (function($) { $.topics = {}; // 发布或广播事件 $.publish = function (topic, args) { if (!$.topics[topic]) return false; if ($.topics[topic] instanceof Array) { var topics = $.topics[topic]; for(var i = 0; i < topics.length; i++) topics[i](args); } return this; }; // 通过特定名称和回调函数订阅事件 $.subscribe = function (topic, func) { if (!$.topics[topic]) $.topics[topic] = []; // 对应topic下加入回调函数 $.topics[topic].push(func); return this; }; // 解绑取消订阅事件 $.unsubscribe = function (topic) { if (!$.topics[topic]) return false; delete($.topics[topic]); return this; } })(pubsub); // 注册confirm事件 pubsub.subscribe("confirm", function() { alert("this is the confirm"); }); // 注册alert事件 并订阅该事件后取消该订阅 pubsub.subscribe("alert", function(data) { alert("this is the alert " + data); }).publish("alert", "success").unsubscribe("alert"); </script>
相关文章推荐
- JS发布订阅模式
- js全局的发布——订阅模式
- 基于JS原生的事件订阅和发布模式代码
- js事件编程的发布/订阅模式(一对一关系)
- 【JS】发布/订阅模式
- js设计模式之代理模式以及订阅发布模式
- node.js笔记之订阅发布设计模式
- js发布——订阅模式
- JS设计模式之发布订阅模式
- js 发布订阅模式
- [转载]JS中什么是发布--订阅模式?
- 学习笔记-js发布/订阅模式的简单实现
- js发布——订阅模式的通用实现及取消订阅
- node.js 发布订阅模式的实例
- js 发布/订阅模式
- JS设计模式 - 观察者模式与发布/订阅模式
- js:发布-订阅模式
- node.js 发布订阅模式
- js:发布订阅模式
- js之发布 — 订阅模式