JSFiddle - React, Tailwind, and code Playground

HTML

<select>
    <option></option>
</select>

JavaScript

$(document).on('mousedown', 'select', function (evt) {
    if (!evt.isFake) {
        var $el = $(evt.currentTarget);
        var event = document.createEvent('MouseEvents');
        
        try {
            event.initMouseEvent('mousedown', false, true);
            event.isFake = 1;
        }
        catch (er){
            // FireFox: Not enough arguments to MouseEvent.initMouseEvent.
        }
        

        $el.html('<option disabled>Loading...</option>')

        setTimeout(function () {
            $el.html('<option>foo</option><option>bar</option>');

            $el[0].dispatchEvent(event);
        }, 500);

        event.isFake && evt.preventDefault();
    }
});