2012-08-07 94 views
0

清空輸入字段我有一個文本的輸入字段,我試圖切換其可見性。我遇到的問題是,在字段上切換幻燈片動畫之後,其文本是不可見的。 但是,當字段變爲焦點時,文本再次可見。jQuery的slideUp()/ slideDown()

我已經在Safari/IE/FF上測試了這個,輸入文本仍然可見,但是我無法弄清楚爲什麼Chrome會這麼奇怪。

http://jsfiddle.net/f63Et/1/

回答

4

問題是,當jQuery設置輸入爲inline-block時,它的輸入顯示爲.slideDown(),這使得Chrome呈現錯誤。

你有幾個選項,例如wrap the input in a div,或者set the display to block

+0

的一次Chrome的行爲奇怪了所有的瀏覽器.. 你的答案几乎涵蓋兩種解決方法,有理由啓動,所以我會標記它。 – actaeon 2012-08-07 13:39:38

0

您可以嘗試把在了slideDown()的回調手動對焦它:

$(this).focus() 
0

這並不回答,爲什麼Chrome的行爲異常問題,但是,一種解決方法,如果你在一個DIV附上輸入:

<div id="text"><input type="text" /></div> 

然後slideToggle股利:

$(document).on('click', '#slide', function() { 
    $('#text').slideToggle(); 
}); 

這似乎在Chrome中工作。

0

作爲一個變體,您可以使用$('input').toggle('slow')