JSFiddle - React, Tailwind, and code Playground

HTML

<select id="mySelect">
    <option>opt 1</option>
    <option>opt 2</option>
    <option>opt 3</option>
</select>

JavaScript

var select = document.getElementById("mySelect");

/* code that I do not wish/'cannot' change: */
    var index = 0;
    var myInterval = setInterval( function() { // Change index every 500ms
        
        index++;
        select.selectedIndex = index % 3;
        
    }, 500 );

    setTimeout( function() { // Remove automatic change after 3000ms
        clearInterval( myInterval );
    }, 3000 );
/* end unmodifiable code */

select.addEventListener(
    "change",
    function() {
        alert();
    },
    false 
);

var selectold =  select.selectedIndex;

setInterval(function(){
    if(selectold != select.selectedIndex)
       {
           console.log("there was a change");
           selectold = select.selectedIndex;
         
       }
    

},500);