我有一个输入,在某些点碰巧有焦点。如果用户点击“背景”,在页面中,输入失去了焦点。我试图用下面的代码模拟背景上的点击,但这不起作用(你会注意到输入仍然有焦点)。关于如何编写模拟点击“背景”的代码的任何建议。页面?

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