jQuery实时焦点功能问题

时间:2011-05-09 13:53:42

标签: jquery internet-explorer focus live

我有一些文本框,我想隐藏然后显示焦点,但似乎没有正常工作

这是我的jQuery

$("#txt1").live('focus', function() {
    $(this).hide();
    $("#txt2").show().focus();
});

$("#txt2").live('blur', function() {
    if ($(this).attr("value") == "") {
        $(this).hide();
        $("#txt1").show();
    }
});

这是我的HTML

<input type="text" id="txt1" value="Test" />

<input type="password" style="display:none" id="txt2" />

问题是在Internet Explorer中live焦点功能无法按预期工作。

它将焦点放在我的文本框上,但除非我再次点击它,否则不会让我输入框。

我有一个例子here on jsFiddle

第一个测试就是问题。

我添加了第二个按预期工作但我需要使用live函数工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我通过这样做解决了这个问题

function pageLoad() {

$("#txt1").focus(function() {
    $(this).hide();
    $("#txt2").show().focus();
});

$("#txt2").blur(function() {
    if ($(this).attr("value") == "") {
        $(this).hide();
        $("#txt1").show();
    }
});

};

而不是在document.ready()

答案 1 :(得分:1)

live不支持focusblur

使用focusinfocusout