发布/订阅 pub/sub

功能就如同此名字,是设计模式中的 发布订阅模式,借助于 jQuery的事件系统扩展而成。

代码演示

订阅->发布->触发订阅
添加 loading 属性即可让按钮处于加载状态,最后两个按钮演示点击后进入加载状态。
查看代码
// 我想订阅事件'myPubName'
$('.J-sub').click(function(){
mark('刚刚点击了J-sub');
// 订阅
$.sub('myPubName', function(e, data, element) {
  mark("订阅收到:" + data + ",来自myPubName" + ",按钮[" + $(element).text()+"]");
});
$.sub('myPubName.other', function(e, data, element) {
  mark("订阅收到:" + data + ",来自myPubName.other" + ",按钮[" + $(element).text()+"]");
});
});
// 我将要发布订阅
$('.J-pub').click(function(){
mark('刚刚点击了J-pub');
// 发布
$.pub('myPubName', ["这是我的例子", this]);
});
// 我将要清除订阅
$('.J-clear').click(function(){
mark('刚刚点击了J-clear');
// 清除订阅
$.unsub('myPubName');
});

// 输出记录
function mark(text) {
$('.J-memo').append($('<p>'+text+'</p>'));
}

http://codepen.io/janking/pen/gMrEPq

如果您发现本页有什么问题,欢迎来提单 Issue : https://github.com/Janking/infinite-ui/issues