textarea高度随着内容的多少而变化,高度可以删减

问题:可以多行输入,并且输入框的高度随着内容的多少而变化,输入框的高度不能只增不减

由于 input 只能单行输入  

 textarea可以多行输入,并且高度可以随着内容的增加而增加,但是当内容删减的时候,textarea的高度并不能变低

解决办法:用一个替换标签,这个替代标签所以样式包括字体都和textarea一模一样,内容与textarea内容同步,高度自适应,但是要用一个包裹层,其display设置为none,

                 达到页面上的视觉效果,只有一个内容,而我们仅仅只需要这个替换标签的高度,监听textarea   的keyup 事件  将textarea的高度设置为替代标签的高度

 


<div style="height:0; overflow:hidden;">
<div class="shadow">{{txt}}</div>
</div>
<textarea name="disease" class="textarea diseaseTxt" type="text" placeholder="请输入内容" ng-model="txt" required maxlength="30"></textarea>


keyup事件:this.style.height = $(".shadow").height()+"px";
posted @ 2017-09-30 11:05  追随内心$放飞自我  阅读(834)  评论(0编辑  收藏  举报