2012-08-07 64 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')