我有一些文本框,我想隐藏然后显示焦点,但似乎没有正常工作
这是我的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
函数工作。
有什么想法吗?
答案 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
不支持focus
和blur
。
使用focusin
和focusout
。