Javascript jquery.IE的实时问题

Javascript jquery.IE的实时问题,javascript,focus,jquery,Javascript,Focus,Jquery,我有下面的代码,它在焦点上隐藏了一个“虚拟”密码字段(包含单词“password”),并显示了一个真实的密码输入字段。它可以在除IE以外的所有浏览器中正常工作 在IE中,如果我按tab键进入密码字段,它会工作,但是如果我点击密码字段,它会正确聚焦,但我无法输入 $("#passDummy").live('focus',function () { $(this).hide(); $("#pass").show().focus(); }); 下面是一

我有下面的代码,它在焦点上隐藏了一个“虚拟”密码字段(包含单词“password”),并显示了一个真实的密码输入字段。它可以在除IE以外的所有浏览器中正常工作

在IE中,如果我按tab键进入密码字段,它会工作,但是如果我点击密码字段,它会正确聚焦,但我无法输入

    $("#passDummy").live('focus',function () {
        $(this).hide();
        $("#pass").show().focus();
    });
下面是一个在实践中展示它的例子

如果我使用.focus和.blur而不是.live,它也可以工作,但我需要使用.live

编辑:我使用的是jquery 1.5.1(精简版),尽管所有后续版本似乎都是如此。

可能不是您想要的答案,但无论如何,它在这里;升级至最新的jQuery

我用你的JSFIDLE和IE8测试了这个。使用jQuery1.5.2,我重现了您的问题。使用jQuery1.6.3,它可以正常工作

可怕的解决方法,但似乎有效:

$("#pass").show();
setTimeout(function(){$('#pass').focus()},10);
实例:


我想这与文本字段显示速度不够快,无法在IE中获得焦点有关。

您使用的jquery版本是什么?1.5.1缩小了。。。但所有后续版本似乎也是如此。我将jquery升级到最新版本没有问题,但JSFIDLE确实使用了最新版本,问题仍然存在。@Tom-奇怪,因为我发誓我不能用vlatest重现问题,但可以用1.5.2重现问题-我会再看一看。谢谢。我必须双击文本框才能让它工作。双击并不理想!我想有更好的办法来解决这个问题,但这是我们正在讨论的IE,所以我毫不怀疑没有其他办法!我会继续找一点,但如果我仍然找不到任何解决方法,我会给你打勾。谢谢