Cómo simular un clic para que la entrada actual pierda su enfoque con JavaScript

StackOverflow https://stackoverflow.com/questions/220488

  •  03-07-2019
  •  | 
  •  

Pregunta

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. Estaba tratando de simular el clic en el fondo con el siguiente código, pero esto no funciona (notará que la entrada aún tiene el foco). Cualquier sugerencia sobre cómo escribir código que simule un clic en el "fondo" de la página?

<!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>
¿Fue útil?

Solución

Me imagino que usar blur () haría el truco:

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

Otros consejos

Intente usar el evento blur . Si está utilizando jQuery, hay un método que puede llamar al objeto DOM para generar este evento. El método blur () también debería funcionar sin jQuery.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top