jQuery.triggerHandler
HTML
<p><button id="trigger">trigger()</button> <button id="handler">triggerHandler()</button></p>
JavaScript
(function($, undefined){
$(function(){
var $body = $(document.body),
notify = function(e) {
$body.append("<p>foo! (" + this.nodeName + ")</p>");
};
$body.on('foo', notify)
.parent().on('foo', notify);
$('#trigger').on('click', function(){
$body.trigger('foo');
});
$('#handler').on('click', function(){
$body.triggerHandler('foo');
$(document).ready(function(){
alert('done');
});
});
});
})(jQuery);