jQuery 实现观察者模式

本文介绍了一个 jQuery gevent 事件插件的使用示例,展示了如何通过该插件实现事件的订阅与发布功能。具体包括了创建DOM元素、设置样式、定义事件处理器、订阅事件、发布事件等步骤。

github:

https://github.com/mmikowski/jquery.event.gevent

 

demo:

$('body').append( "<div id='spa-chat-list-box' />" );

var $listbox = $('#spa-chat-list-box');

$listbox.css({
    position   : "absolute",
    'z-index'  : "3",
    top        : "50",
    left       : "50",
    width      : "50",
    height     : "50",
    border     : "2px solid #ccc",
    background : "#fff",
})

var onListchange = function ( event, update_map ){
    $( this ).html(update_map.list_text);
    alert("onListchange");
}

/* 订阅事件 */
$.gevent.subscribe(
    $listbox,
    'spa-listchange',
    onListchange
);

/* 发布通知 */
$.gevent.publish(
    'spa-listchange',
    [{  list_text : 'the list is here'}]
);

/* 删除元素的话,订阅的事件也会删除 */
$listbox.remove();
$.gevent.publish('spa-listchange',[ { } ]);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值