js控制textarea高度自适应

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.chackTextarea-area{line-height: 20px; font-size: 14px;padding: 0;border: 1px solid #CDCDCD; width: 400px;}
</style>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">
(function($){
    $.fn.autoTextarea = function(options) {
        var defaults={
            maxHeight:null,
            minHeight:$(this).height()
        };
        var opts = $.extend({},defaults,options);

        $(this).bind("paste cut keydown keyup focus blur",function(){
            var height,style=this.style;
            this.style.height =  opts.minHeight + ‘px‘;
            if (this.scrollHeight > opts.minHeight) {
                if (opts.maxHeight && this.scrollHeight > opts.maxHeight) {
                    height = opts.maxHeight;
                    style.overflowY = ‘scroll‘;
                } else {
                    height = this.scrollHeight;
                    style.overflowY = ‘hidden‘;
                }
                style.height = height  + ‘px‘;
            }
        });
    };
})(jQuery);
</script>
</head>
<body>
<div>
    <textarea name="textarea" id="textarea" cols="60" rows="1" class="chackTextarea-area"></textarea>
</div>
<script type="text/javascript">
    $(".chackTextarea-area").autoTextarea({maxHeight:220});
</script>
</body>
</html>
时间: 2024-12-15 14:10:01

js控制textarea高度自适应的相关文章

获取textarea文本框所选字符光标位置索引,以及选中的文本值;textarea高度自适应,随着内容增加高度增加;获取输入框中的光标位置

获取textarea文本框所选字符光标位置索引,以及选中的文本值 $.fn.selection = function () { var s, e, range, stored_range; if (this[0].selectionStart == undefined) { var selection = document.selection; if (this[0].tagName.toLowerCase() != "textarea") { var val = this.val()

textarea高度自适应

有时候写表单的时候,会有一个 备注框textarea.因为textarea不支持自适应高度,就是定好高度或者是行数之后,超出部分就会显示滚动条,看起来不美观.我们需要美观实现的效果:默认显示一行.当输入的文字超过一行或者输入Enter时,输入框的高度会随着改变,直到输入完毕.也就是要实现textarea的高度自适应 ========================================================= 方案A:用div来模拟textarea实现的,用CSS控制样式,不

Jquery插件----TextArea高度自适应

textArea的高度自适应本来应该很简单的,只需要用js监听它的输入然后修改其高度即可,甚至对于ie只要用css(overflow:visible;)控制就可以了.但是同样会有兼容性问题,用一个jQuery插件来实现.代码如下: $.fn.extend({ textareaAutoHeight: function (options) { this._options = { minHeight: 0, maxHeight: 1000 } this.init = function () { for

textarea高度自适应问题

textarea中的文字如果过多,就会产生滚动条,一本分文本被遮盖住,不能看到所有的文本. 那么,如何才能让textarea的高度随输入内容多少,可以自动的改变高度呢? 解决思想: 1 利用contenteditable属性,让div变得可以编辑. 优点:方便,简介 缺点:提交数据不方便 2 利用js,动态改变textarea的高度 优点:提交数据很方便 缺点:要写好几段代码 我不禁提出质疑:在设计textarea这个标签的时候,专家们为何不给他一个可以高度自适应的属性呢? 谁能回答我?

textarea 高度自适应(chrome+ie8测试有效)

最近有一个需求,需要让textarea宽度不变,但是高度随着用户的输入高度自适应.由于浏览器版本的不兼容,很多方法通常只能在一个浏览器中起作用. 下面我写了一个小的demo,可以在chrome 和 ie8下正常使用,其他浏览器没有测试过. 第一种方式使用 js+css方式实现 <textarea rows='6' cols='100' style='overflow:scroll;overflow-y:visible;height:96px;width:679px;overflow-x:hidd

textarea高度自适应(可设置最大高度)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

左边label随着右边textarea高度自适应

左边label随着右边自适应 近期项目中,有表单需求 默认展示两列,当内容多的时候,可以展示一列 左边列 <div> <label>备注</label> <span>计算机</span> </div> 右边列 <div> <label>备注</label> <span>计算机</span> </div> 当右边有textarea的时候,让textarea高度随着内

实现textarea高度自适应内容,无滚动条

最近接触到一个很好用的js插件,可以实现textarea高度随内容增多而改变,并且不显示滚动条,推荐给大家: http://www.jacklmoore.com/autosize/

js控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数

[Html代码] <table> <tr> <td width="150">短信内容:</td> <td> <textarea name="message" cols="96" rows="5" onKeyDown="textCounter(message,remLen,65);" onKeyUp="textCounter(mess