Как смоделировать щелчок, чтобы текущий ввод потерял фокус с помощью JavaScript - PullRequest
8 голосов
/ 21 октября 2008

У меня есть вход, который в некоторых точках имеет фокус. Если пользователь нажимает на «фон» страницы, ввод теряет фокус. Я пытался смоделировать щелчок по фону с помощью следующего кода, но это не сработало (вы заметите, что ввод по-прежнему имеет фокус). Любое предложение о том, как написать код, имитирующий нажатие на «фон» страницы?

<!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>

Ответы [ 2 ]

18 голосов
/ 21 октября 2008

Я думаю, что использование blur() поможет:

<script type="text/javascript">
    YAHOO.util.Event.onDOMReady(function() {
        document.getElementById("input").focus();    
        document.getElementById("input").blur();    
    });
</script>
2 голосов
/ 21 октября 2008

Попробуйте использовать событие blur. Если вы используете jQuery, есть метод, который вы можете вызвать для объекта DOM, чтобы вызвать это событие. Метод blur() также должен работать без jQuery.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...