jquery.event.gevent-提供发布订阅全局自定义事件的插件

GitHub地址

$.gevent.publish()

发布一个全局自定义事件

$.gevent.publish(
  'spa-model-msg-receive',
  [ { user : 'fred', msg : 'Hi gang' } ]
);

参数1:事件名,

参数2:将会传给事件处理器的参数。

$.gevent.subscribe()

订阅一个全局自定义事件

$.gevent.subscribe(
  $( '.ns-_msg_' ),
  'spa-model-msg-receive',
  onModelMsgReceive
);

参数1:一个jQuery集合,事件会被绑定到这个集合的每一个元素,

参数2:已经发布的全局事件的名称,

参数3:当事件触发时,调用的处理器,处理器会接收事件发布时定义的参数作为参数。

$.gevent.unsubscribe

取消已订阅的事件

$.gevent.unsubscribe(
  $( '#msg' ),
  'spa-model-msg-receive'
);

参数1:要取消事件绑定的jQuery集合,

参数2:要取消绑定的事件。


例子:

// 插入一个div
$('body').append( '<div class="part"/>' );
// 为插入的元素订阅事件myevent
$.gevent.subscribe(
	$( '.part' ),
	'myevent',
	function ( event, msg_map ) {
		console.log('myevent trigger');
		console.log(msg_map);
	}
);
// 发布事件myevent,携带回调参数,已经订阅myevent的元素就会触发事件。
$.gevent.publish(
	'myevent',
	[ { user : 'fred', msg : 'Hi gang' } ]
);
// 移除div
$( '.part' ).remove();
// 再次发布事件myevent,因为元素不存在,事件不会触发。
$.gevent.publish(
	'myevent',
	[ { user : 'fred', msg : 'Hi gang' } ]
);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值