JSFiddle - React, Tailwind, and code Playground
HTML
<div id="fired">Did 1 fire? <span></span></div>
<div id="fired2">Did 2 fire? <span></span></div>
<div id="fired3">Did 3 fire? <span></span></div>
<div id="fired4">Did 4 fire? <span></span></div>
<button>Fire Again</button>
<span>(only callbacks 1 and two will fire again)</span>
CSS
div {width:120px;}
.fail {background:red;}
.succeed {background:green;}
JavaScript
(function($){
var cb = $.Callbacks(),
cb2 = $.Callbacks('memory'),
cb3 = $.Callbacks('once'),
cb4 = $.Callbacks("once unique"),
test = function(n){console.log('function ran from '+ n);};
cb.add(test);
cb2.add(test);
cb3.add(test);
cb4.add(test);
function fireThemAll(){
cb.fireWith(window,['1']);
cb2.fireWith(window,['2']);
cb3.fireWith(window,['3']);
cb4.fireWith(window,['4']);
$('#fired span').html(cb.fired().toString()).addClass((cb.fired())?'succeed':'fail');
$('#fired2 span').html(cb2.fired().toString()).addClass((cb2.fired())?'succeed':'fail');
$('#fired3 span').html(cb3.fired().toString()).addClass((cb3.fired())?'succeed':'fail');
$('#fired4 span').html(cb4.fired().toString()).addClass((cb4.fired())?'succeed':'fail');
}
fireThemAll();
$('button').on('click',function(){
fireThemAll();
});
}(jQuery));