扩展/折叠文本区域问题

时间:2014-11-17 05:54:22

标签: javascript jquery textarea

我正在尝试创建一个可扩展的文本区域,只有在该框为空时才会折叠回原始高度。如果它不是空的,那么我希望文本区域保持扩展并根据需要增长(即,当用户输入更多文本时增长)。文本区域永远不应该隐藏输入的文本 - 也就是说,它永远不会折叠到隐藏其任何内容的高度。

到目前为止,我把我所拥有的东西放在了

http://jsfiddle.net/np5y4esr/8/

这几乎是正确但不完全。如果您在第一个textarea中输入足够的文字以使其展开超过300px的高度,那么请点击第二个textarea,然后返回第一个,第一个将崩溃。我不确定我做错了什么。

我的规则只是上面第一段中的规则。如果有人可以创造一个新的小提琴来实现这一目标或修改我的工作,我将非常感谢你的帮助。

编辑:为文本区域设置最大扩展高度是否可行?也就是说,它会随着用户的输入而扩展,但会停留在某个点(例如400px),它会像默认的文本区域行为一样滚动?

1 个答案:

答案 0 :(得分:1)

尝试修改'focus'方法,如下所示:

$('textarea.expand').focus(function () {
    if($(this).val()==="" || $(this).height() < 100) {
         $(this).animate({ height: "100px" }, 300); 
    }

});

愿它能帮到你。