textarea根据内容设置默认高度

68 篇文章 0 订阅
14 篇文章 0 订阅
<script>
    (function ($) {
        $.fn.autoTextarea = function (options) {
            var defaults = {
                maxHeight: null,
                minHeight: $(this).height()
            };
            var opts = $.extend({}, defaults, options);
            return $(this).each(function () {
                $(this).bind("paste cut keydown keyup focus", 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);


    // $.fn.extend({
    //     txtaAutoHeight: function () {
    //         return this.each(function () {
    //             var $this = $(this);
    //             if (!$this.attr('initAttrH')) {
    //                 $this.attr('initAttrH', $this.outerHeight());
    //             }
    //             setAutoHeight(this).on('input', function () {
    //                 setAutoHeight(this);
    //             });
    //         });
    //         function setAutoHeight(elem) {
    //             var $obj = $(elem);
    //             return $obj.css({ height: $obj.attr('initAttrH'), 'overflow-y': 'hidden' }).height(elem.scrollHeight);
    //         }
    //     }
    // });
    //
    // $("#content").txtaAutoHeight();

    $(function(){
        var html = $("#content").html();
        re = new RegExp("\r\n","g");
        var newhtml = html.replace(re, "\n");
        var htmlArr =  newhtml.split("\n");
        var len = htmlArr.length;

        $("#content").autoTextarea({
            maxHeight:500,
            minHeight:len * 15//文本框是否自动撑高,默认:null,不自动撑高;如果自动撑高必须输入数值,该值作为文本框自动撑高的最大高度
        });
        // $("#content").focus();
        $("#content").trigger("focus");
    });

</script>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值