La idea que plantea
Alexis88 es buena, pero hay un problema...
arguments.callee
está en desuso.
Lo más "recomendable" en estos casos sería declararla afuera y después referenciarla, o simplemente darle un nombre al listener del evento (que se puede):
Código Javascript
:
Ver originalvar input = document.querySelector("#foo");
input.addEventListener("focus", function k(event){
alert("Solo verás este mensaje una vez.");
this.removeEventListener("focus", k);
}, false);