JavaScriptで現在の入力がフォーカスを失うようにクリックをシミュレートする方法

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

  •  03-07-2019
  •  | 
  •  

質問

ある時点でフォーカスを持っている入力があります。ユーザーが[背景]をクリックすると、ページの場合、入力はフォーカスを失います。次のコードを使用して背景のクリックをシミュレートしようとしましたが、これは機能しません(入力にまだフォーカスがあることに気付くでしょう)。 「背景」のクリックをシミュレートするコードの記述方法に関する提案ページの

<!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>
役に立ちましたか?

解決

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

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

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top