我正在尝试创建一个可扩展的文本区域,只有在该框为空时才会折叠回原始高度。如果它不是空的,那么我希望文本区域保持扩展并根据需要增长(即,当用户输入更多文本时增长)。文本区域永远不应该隐藏输入的文本 - 也就是说,它永远不会折叠到隐藏其任何内容的高度。
到目前为止,我把我所拥有的东西放在了
http://jsfiddle.net/np5y4esr/8/
这几乎是正确但不完全。如果您在第一个textarea
中输入足够的文字以使其展开超过300px的高度,那么请点击第二个textarea
,然后返回第一个,第一个将崩溃。我不确定我做错了什么。
我的规则只是上面第一段中的规则。如果有人可以创造一个新的小提琴来实现这一目标或修改我的工作,我将非常感谢你的帮助。
编辑:为文本区域设置最大扩展高度是否可行?也就是说,它会随着用户的输入而扩展,但会停留在某个点(例如400px),它会像默认的文本区域行为一样滚动?
答案 0 :(得分:1)
尝试修改'focus'
方法,如下所示:
$('textarea.expand').focus(function () {
if($(this).val()==="" || $(this).height() < 100) {
$(this).animate({ height: "100px" }, 300);
}
});
愿它能帮到你。