8

ある時点でたまたまフォーカスがある入力があります。ユーザーがページの「背景」をクリックすると、入力はフォーカスを失います。次のコードで背景のクリックをシミュレートしようとしましたが、これは機能しません (入力にまだフォーカスがあることに気付くでしょう)。ページの「背景」でのクリックをシミュレートするコードを作成する方法について何か提案はありますか?

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

3 に答える 3

18

を使用blur()するとうまくいくと思います:

<script type="text/javascript">
    YAHOO.util.Event.onDOMReady(function() {
        document.getElementById("input").focus();    
        document.getElementById("input").blur();    
    });
</script>
于 2008-10-21T01:29:52.383 に答える
2

blurイベントを使ってみてください。jQuery を使用している場合は、DOM オブジェクトで呼び出してこのイベントを発生させるメソッドがあります。このblur()メソッドは、jQuery がなくても機能するはずです。

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

于 2008-10-21T01:30:27.563 に答える