mirror of
https://github.com/friendica/friendica
synced 2024-12-23 16:40:17 +00:00
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
|
|
// source https://github.com/jaz303/jquery-grab-bag
|
|
(function($) {
|
|
|
|
/*
|
|
* Auto-growing textareas; technique ripped from Facebook
|
|
*/
|
|
$.fn.autogrow = function(options) {
|
|
|
|
this.filter('textarea').each(function() {
|
|
|
|
var $this = $(this),
|
|
minHeight = $this.height(),
|
|
lineHeight = $this.css('lineHeight');
|
|
|
|
var shadow = $('<div></div>').css({
|
|
position: 'absolute',
|
|
top: -10000,
|
|
left: -10000,
|
|
width: $(this).width(),
|
|
fontSize: $this.css('fontSize'),
|
|
fontFamily: $this.css('fontFamily'),
|
|
lineHeight: $this.css('lineHeight'),
|
|
resize: 'none'
|
|
}).appendTo(document.body);
|
|
|
|
var update = function() {
|
|
|
|
var val = this.value.replace(/</g, '<')
|
|
.replace(/>/g, '>')
|
|
.replace(/&/g, '&')
|
|
.replace(/\n/g, '<br/>');
|
|
|
|
shadow.html(val);
|
|
$(this).css('height', Math.max(shadow.height() + 20, minHeight));
|
|
}
|
|
|
|
$(this).change(update).keyup(update).keydown(update);
|
|
|
|
update.apply(this);
|
|
|
|
});
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
})(jQuery);
|
|
|
|
// @license-end
|