cssjs-func-lib/jquery-autoresize.min.js
2022-02-07 18:34:03 +01:00

2 lines
1.3 KiB
JavaScript

!function($){$.fn.autoResize=function(options){var settings=$.extend({onResize:function(){},animate:!0,animateDuration:150,animateCallback:function(){},extraSpace:20,limit:1e3},options);return this.filter("textarea").each((function(){var textarea=$(this).css({resize:"none","overflow-y":"hidden"}),origHeight=textarea.height(),clone=(props=["height","width","lineHeight","textDecoration","letterSpacing"],propOb={},$.each(props,(function(i,prop){propOb[prop]=textarea.css(prop)})),textarea.clone().removeAttr("id").removeAttr("name").css({position:"absolute",top:0,left:-9999}).css(propOb).attr("tabIndex","-1").insertBefore(textarea)),lastScrollTop=null,updateSize=function(){clone.height(0).val($(this).val()).scrollTop(1e4);var scrollTop=Math.max(clone.scrollTop(),origHeight)+settings.extraSpace,toChange=$(this).add(clone);lastScrollTop!==scrollTop&&(lastScrollTop=scrollTop,scrollTop>=settings.limit?$(this).css("overflow-y",""):(settings.onResize.call(this),settings.animate&&"block"===textarea.css("display")?toChange.stop().animate({height:scrollTop},settings.animateDuration,settings.animateCallback):toChange.height(scrollTop)))},props,propOb;textarea.unbind(".dynSiz").bind("keyup.dynSiz",updateSize).bind("keydown.dynSiz",updateSize).bind("change.dynSiz",updateSize)})),this}}(jQuery);
//# sourceMappingURL=jquery-autoresize.min.js.map