javascript focus()在Firefox和IE上不起作用? [英] javascript focus() not working on Firefox and IE?

查看:112
本文介绍了javascript focus()在Firefox和IE上不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于某种原因,我试图显示一个表单并将其聚焦,因为它仅适用于Chrome.如何使它在所有浏览器中都能正常工作?

I'm trying to appear a form and focus it, for some reason it only works on Chrome. How can I make it work across browsers?

<script>
function SearchCity(evt){
    document.getElementById('ciudad-eq').style.display='none';
    document.getElementById('buscarciudad').style.display='inline';
    document.getElementById("city").focus();
}
</script>    


    <div onclick="SearchCity(event)" id="ciudad-eq" style="cursor: pointer;">
    Not from Miami?
    </div>

    <div id="buscarciudad" style="display: none;">
        <form role="search" method="post" id="searchform" action="insert/insert-ip.php">
            <input type="text" id="city" name="ciudad" value="¿Cual es tu ciudad?" style="width: 140px;" >
            <input type="submit" value="ir" style="padding: 2px 6px;">
        </form>
    </div>

您可以在这里看到它不起作用:

You can see it not working in here:

http://jsfiddle.net/CCxrp/1/

我该怎么做才能使其正常工作?谢谢

What can I do to make it work? Thanks

推荐答案

您只需要交换事物的顺序:

You just need to swap the order of things:

    <div onclick="SearchCity(event)" id="ciudad-eq" style="cursor: pointer;">
    Not from Miami?
    </div>

    <div id="buscarciudad" style="display: none;">
        <form role="search" method="post" id="searchform" action="insert/insert-ip.php">
            <input type="text" id="city" name="ciudad" value="¿Cual es tu ciudad?" style="width: 140px;" >
            <input type="submit" value="ir" style="padding: 2px 6px;">
        </form>
    </div>

<script>
function SearchCity(evt){
    document.getElementById('ciudad-eq').style.display='none';
    document.getElementById('buscarciudad').style.display='inline';
    document.getElementById("city").focus();
}
</script>    

div必须在DOM中,JavaScript才能查找它们.这是JQuery的$(document).ready(function(){ ...});

The divs have to be in the DOM before JavaScript can look for them. This is the primary benefit of JQuery's $(document).ready(function(){ ...});

这篇关于javascript focus()在Firefox和IE上不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆