$.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' } ]
);