Utiliza el método 
removeEventListener para desligar al evento del elemento en cuestión.    
   
Código Javascript
:
Ver original- var input = document.querySelector("#foo"); 
-   
- input.addEventListener("focus", function(event){ 
-     alert("Solo verás este mensaje una vez."); 
-     this.removeEventListener("focus", arguments.callee); 
- }, false); 
Saludos  
Edito: Antes de que me lo preguntes, la presencia de 
arguments.callee se debe a que la función que se ejecuta es anónima (no posee un nombre) y como lo que deseo es que ya no se ejecute dicha función al volver a dar el enfoque a la caja de texto, hago referencia a ella utilizando la propiedad en cuestión.