我有一些文本框,我想隱藏,然後顯示在焦點,但它似乎沒有正常工作jQuery的現場聚焦功能問題
,這裏是我的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
函數工作。
任何想法?
解決了這個問題,你不能使用$( 「#TXT1」)。綁定( )同樣有效?不要說這是有效的,只是好奇你爲什麼在這裏使用.live()。代碼運行後創建的元素? bind()也可以工作,我沒有嘗試它。 – Henry 2011-05-09 14:02:11
@Henry我以前從未使用'.bind()' - 我使用'.live()',因爲這些字段在加載時隱藏在服務器端 – 2011-05-09 14:05:11
如果它們只是隱藏,'bind'仍然可以工作。 (因爲它們確實存在) – SLaks 2011-05-09 14:07:22