新浪微博的评论,随着你输入文字增多,高度的增加,textarea也会随着不变的变高。该效果网上有现成的jQuery插件实现,该插件最大的缺陷就在于:
对于设置了padding(padding-top、padding-bottom)的textarea元素,为了保证实现的准确,它会将元素的padding-top和padding-bottom设置为0。
我对这个插件进行了一番改造,代码更精简合理,实现更统一,而且最大的进步在于该组件会保留原来的padding-top、padding-bottom,使得元素样式保留原来的美感。
代码如下:
var $ = require('alpha-jquery/jquery');
$.fn.textAreaExpander = function(minHeight, maxHeight, adjust) {
var len = arguments.length;
if (len === 1) {
if ($.isFunction(arguments[0])) {
adjust = arguments[0];
minHeight = maxHeight = null;
}
} else if (len === 2) {
if ($.isFunction(argume