Ver Mensaje Individual
  #10 (permalink)  
Antiguo 24/11/2014, 13:30
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Evento onfocus solo una vez



No, pues, fíjate en lo que estás haciendo. Estás agregando la asignación de la función a la caja de texto dentro de la función que ya tenías creada.

Prueba así:

Código Javascript:
Ver original
  1. var input = document.querySelector("#art1");
  2.  
  3. input.addEventListener("focus", fn = function (event){
  4.     if (!this.value.length) {
  5.         document.getElementById("linea2").innerHTML = "";
  6.         return;
  7.     }
  8.     if (window.XMLHttpRequest) {
  9.         xmlhttp = new XMLHttpRequest();
  10.     }
  11.     else {
  12.         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.     }
  14.     xmlhttp.onreadystatechange = function() {
  15.         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
  16.             document.getElementById("linea2").innerHTML = xmlhttp.responseText;
  17.         }
  18.     }
  19.     xmlhttp.open("GET", "linea2.php?q=" + str, true);
  20.     xmlhttp.send();
  21.  
  22.     this.removeEventListener("focus", fn);
  23. }, false);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand