$.fn.extend({
autoHeight: function(){
return this.each(function(){
var $this = $(this);
console.log($this.outerHeight());
if( !$this.attr('_initAdjustHeight') ){
$this.attr('_initAdjustHeight', $this.outerHeight());
}
_adjustH(this).on('input', function(){
_adjustH(this);
});
});
/**
* 重置高度
* @param {Object} elem
*/
function _adjustH(elem){
var $obj = $(elem);
return $obj.css({height: $obj.attr('_initAdjustHeight'), 'overflow-y': 'hidden'})
.height( elem.scrollHeight );
// clientHeight:元素客户区的大小,指的是元素内容及其边框所占据的空间大小(经过实践取出来的大多是视口大小)
// scrollHeight: 滚动大小,指的是包含滚动内容的元素大小(元素内容的总高度)
// offsetHeight: 偏移量,包含元素在屏幕上所用的所有可见空间(包括所有的内边距滚动条和边框大小,不包括外边距
}
}
});
$('textarea').autoHeight({})