2011-09-27 58 views
0

我有下面的代碼,它在焦點上隱藏了一個「虛擬」密碼字段(包含單詞「密碼」),並顯示一個真正的密碼輸入字段。它適用於所有瀏覽器期望IE。jQuery的.live與IE的問題

在IE中,它可以工作,如果我選中密碼字段,但如果我點擊密碼字段,它會正確對焦,但我無法輸入它。

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

這裏有一個jsfiddle顯示它在實踐中...

如果我使用.focus和.blur而不是.live它也可以,但我需要在這種情況下使用.live。

編輯:我正在使用jquery 1.5.1(縮小版),但它似乎也適用於所有後續版本。

+0

你使用的是什麼版本的jquery? – alexl

+0

1.5.1縮小...但它似乎也是所有後續版本的情況。 – Tom

回答

1

可能不是你想要的答案,但在這裏它是無論如何;升級到最新的jQuery。

我用你的Jsfiddle和IE8測試了這個。使用jQuery 1.5.2我再現了你的問題。使用jQuery 1.6.3它按預期工作。

可怕的解決辦法,但似乎工作:

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

活生生的例子:http://jsfiddle.net/etmrR/

我認爲這事做與文本框沒有顯示出足夠的快給予重點在IE 。

+0

我沒有將我的jquery升級到最新版本的問題,但jsfiddle確實使用了最新版本,問題仍然存在。 – Tom

+0

@Tom - 怪異becaiuse我發誓我不能用vlatest重現問題,但可以用1.5.2重現它 - 我會再看一次。 – Jamiec

+0

謝謝。我必須在文本框中雙擊才能使其正常工作。雙擊不理想! – Tom