JSFiddle - React, Tailwind, and code Playground
by Bryson Murray
HTML
<div class="elem">1</div>
<div id="first" class="clicker">click here</div>
second
<div id="second" class="clicker">1</div>
CSS
div{
width: 100px;
padding: 10px;
margin: 10px;
}
.elem{
border: 1px solid black;
}
.clicker{
border: 1px solid blue;
}
JavaScript
$(".elem").click(function(e, callback) {
setTimeout(function(){
alert("Code 1");
if (typeof callback === "function")
callback();
}, 1000);
});
$(".elem").trigger("click", function() {
alert("Code 2");
});
$("#second").click(function(e) {
setTimeout(function(){
alert("Second Click Event Fired");
$("#second").css('background', 'red');
}, 1000);
});
var promise = function() {
alert('"Click Here" Event Fired');
var defer = $.Deferred(),
filtered = defer.then(function() {
$("#second").click().then(function(){
alert("'then()' Event Fired");
$("#second").css('background', 'green');
});
});
defer.resolve();
filtered.done(function() {
alert("'done()' Event Fired");
$("#second").css('background', 'yellow');
});
});
$("#first").click(promise);