0

我有一个带有一些文本的输入字段,我正在尝试切换它的可见性。我遇到的问题是在字段上切换幻灯片动画后,它的文本是不可见的。但是,当该字段成为焦点时,文本再次可见。

我已经在 Safari/IE/FF 上对此进行了测试,并且输入文本仍然可见,但我无法弄清楚 Chrome 为何如此奇怪。

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

4

4 回答 4

4

问题是 jQuery 将输入的显示设置为inline-block它执行的时间.slideDown(),这使得 Chrome 不正确地呈现它。

您有几个选项,例如将输入包装在 div中,或将显示设置为阻止

于 2012-08-07T13:29:35.103 回答
0

您可以尝试通过放入 slideDown() 的回调来手动聚焦它:

$(this).focus()
于 2012-08-07T13:20:34.557 回答
0

这并不能回答为什么 Chrome 行为异常的问题,但是,作为一种解决方法,如果您将输入包含在 div 中:

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

然后slideToggle是 div:

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

这似乎在 Chrome 中有效。

于 2012-08-07T13:28:01.653 回答
0

作为变体,您可以使用$('input').toggle('slow')

于 2012-08-07T13:31:46.570 回答