Wie ein Klicken simulieren die aktuelle Eingabe verliert ihren Fokus mit JavaScript machen

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe einen Eingang, der an einigen Stellen passiert, um den Fokus zu haben. Wenn der Benutzer im „Hintergrund“ klicken auf der Seite, verliert der Eingang seinen Fokus. Ich habe versucht, den Klick auf den Hintergrund mit dem folgenden Code zu simulieren, aber das funktioniert nicht (Sie werden feststellen, dass der Eingang noch den Fokus hat). Jeder Vorschlag, wie Code zu schreiben, ein Klick auf den „Hintergrund“ der Seite simuliert?

<!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>
War es hilfreich?

Lösung

Ich könnte mir vorstellen blur() mit würde den Trick tun:

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

Andere Tipps

Versuchen Sie, die blur Ereignis verwenden. Wenn Sie mit jQuery gibt es eine Methode, die Sie auf dem DOM-Objekt aufrufen können dieses Ereignis zu erhöhen. Die blur() Methode sollte auch ohne jQuery arbeiten.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top