Примером запуска события на элементе select дважды подряд может быть добавление события click вместо события change, я думал о MutationObserver , но, похоже, это не срабатывает при прослушивании опций изменить, если его уже выбранная проверка здесь
var activities = document.getElementById("activitySelector");
activities.addEventListener("click", function() {
console.log('selected item');
});
<select id="activitySelector">
<option value="addNew">Item</option>
<option value="1">option 1</option>
</select>
с событием щелчка вы можете сделать это:
let selectedoptions = [];
var clickListener = function(){
const mySelect = document.getElementById("cars");
let currentValue = mySelect.options[ mySelect.selectedIndex ].value;
if(selectedoptions.indexOf(currentValue) < 0) {
selectedoptions.push(currentValue);
}
else {
console.log('selected before');
}
//console.log(currentValue);
}
<select id="cars" onclick="clickListener()">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>