2008-10-21 14 views
7

Tengo una entrada que en algunos puntos tiene el foco. Si el usuario hace clic en el "fondo" de la página, la entrada pierde su foco. Intenté simular el clic en el fondo con el siguiente código, pero esto no funciona (notará que la entrada todavía tiene el foco). ¿Alguna sugerencia sobre cómo escribir código que simule un clic en el "fondo" de la página?Cómo simular un clic para que la entrada actual pierda su foco con JavaScript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
     <script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/yahoo/yahoo-min.js" ></script> 
     <script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/event/event-min.js" ></script> 
     <script type="text/javascript"> 
      YAHOO.util.Event.onDOMReady(function() { 
       document.getElementById("input").focus();  
       document.getElementById("main").focus();  
      }); 
     </script> 
    </head> 
    <body> 
     <div id="main"> 
      <form action="/"> 
       <p> 
        <input type="text" id="input"/> 
       </p> 
      </form> 
     </div> 
    </body> 
</html> 

Respuesta

18

me imagino usando blur() que hacer el truco:

<script type="text/javascript"> 
    YAHOO.util.Event.onDOMReady(function() { 
     document.getElementById("input").focus();  
     document.getElementById("input").blur();  
    }); 
</script> 
+0

Grandes cosas, gracias Paolo. Debería haberlo pensado :) – avernet

2

Trate de usar el evento blur. Si está utilizando jQuery, hay un método que puede invocar en el objeto DOM para plantear este evento. El método blur() también debería funcionar sin jQuery.

http://docs.jquery.com/Events/blur

+0

Vaya, no noté sus referencias de scripts. Sin embargo, el método blur() funcionará independientemente del marco. –

Cuestiones relacionadas