Here is my solution, using the file input focus (not using any timers)
var fileInputSelectionInitiated = false;_x000D_
_x000D_
function fileInputAnimationStart() {_x000D_
fileInputSelectionInitiated = true;_x000D_
if (!$("#image-selector-area-icon").hasClass("fa-spin"))_x000D_
$("#image-selector-area-icon").addClass("fa-spin");_x000D_
if (!$("#image-selector-button-icon").hasClass("fa-spin"))_x000D_
$("#image-selector-button-icon").addClass("fa-spin");_x000D_
}_x000D_
_x000D_
function fileInputAnimationStop() {_x000D_
fileInputSelectionInitiated = false;_x000D_
if ($("#image-selector-area-icon").hasClass("fa-spin"))_x000D_
$("#image-selector-area-icon").removeClass("fa-spin");_x000D_
if ($("#image-selector-button-icon").hasClass("fa-spin"))_x000D_
$("#image-selector-button-icon").removeClass("fa-spin");_x000D_
}_x000D_
_x000D_
$("#image-selector-area-wrapper").click(function (e) {_x000D_
$("#fileinput").focus();_x000D_
$("#fileinput").click();_x000D_
});_x000D_
_x000D_
$("#preview-image-wrapper").click(function (e) {_x000D_
$("#fileinput").focus();_x000D_
$("#fileinput").click();_x000D_
});_x000D_
_x000D_
$("#fileinput").click(function (e) {_x000D_
fileInputAnimationStart();_x000D_
});_x000D_
_x000D_
$("#fileinput").focus(function (e) {_x000D_
fileInputAnimationStop();_x000D_
});_x000D_
_x000D_
$("#fileinput").change(function(e) {_x000D_
// ..._x000D_
}
_x000D_