发布/订阅 pub/sub
功能就如同此名字,是设计模式中的
发布订阅
模式,借助于
jQuery
的事件系统扩展而成。
代码演示
// 我想订阅事件'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