La soluzione per eseguire un evento una sola volta è molto semplice.
Sostanzialmente si tratta di contare quante volte viene eseguito un evento:
const btn = document.querySelector('#btn');
let count = 0;
btn.addEventListener('click', e => {
e.preventDefault();
count++;
if( count == 1 ) {
// azione
}
}, false );
La soluzione jQuery prevede invece l'uso del metodo one()
.