1

我正在使用jQuery Autosize为 textarea 元素启用自动高度。

当我关注 textarea 时效果很好。
如果我模糊纹理,我想删除height纹理以将高度调整为默认值。

我想知道我应该怎么做on blur才能将 textarea 保持为默认值。

这是我在 javascript 控制台上尝试执行的操作以测试我的脚本。

当我加载页面时,textarea 处于模糊状态:

$('#announcement').css('height'); // "36px"

如果我关注文本区域:

$('#announcement').css('height'); // "90px"

$('#announcement').removeAttr('height');
$('#announcement').css('height'); // "90px" 
// why do I continue to get this value even if I removed the Attribute height?

我知道我可以简单地解决我的问题,只需进行模糊操作 $('#announcement').css('height', '36px');
,但我想避免在 javascript 代码中设置 css 属性。
有任何想法吗?

4

1 回答 1

3

您可以使用以下方法直接清除style.height元素上的集合:

$('#announcement').css('height', '');

请参阅此处的工作示例:http: //jsfiddle.net/jfriend00/LXspR/

在您的示例中,removeAttr()适用于属性,而不是样式属性,例如style.height. .css("height")适用于style.height.

于 2012-08-08T08:33:57.890 回答