Możesz zrobić np tak, lepiej niż ustawiać niepotrzebnego globala:
function oneTime () {
if (oneTime.done) {
return
}
oneTime.done = true
// do main stuff, for example
console.log('doing stuff')
}
Chociaż w Twoim przypadku lepiej po prostu usunąć podpięty event listener - no bo po co ma się ta funkcja w ogóle odpalać i sprawdzać warunek?