## Autosize

Small jQuery plugin to allow dynamic resizing of textarea height, so that it grows as based on visitor input.  To use, just call the `.autosize()` method on any textarea element. Example `$('textarea').autosize();`.  See the [project page](http://jacklmoore.com/autosize/) for documentation, caveats, and a demonstration.  Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).

## Changelog

### v1.18.9 - 2014/5/27
* Minor change to fix potential IE8 negative width bug. Fixes #157 Fixes #158

### v1.18.8 - 2014/5/20
* Minor change to logic for applying the CSS resize property. Fixes #156

### v1.18.7 - 2014/4/13
* Very minor change to better represent condition for taking the element width from the style object. Fixes #147
* Added a newline character by default to the textarea element for smoother behavior in IE.  Reference #148

### v1.18.6 - 2014/3/13
* Fixed incorrect size when setting the HTML5 textarea wrap attribute to 'hard'.

### v1.18.5 - 2014/3/10
* Added 'id' property for setting the id of the mirrored textarea element

### v1.18.4 - 2014/1/11
* If textarea displays placeholder text, use placeholder text for sizing. Ref #130, Ref #84.

### v1.18.3 - 2014/1/10
* Allow correct width calculation of hidden textarea elements, when they have a specified width.  Fixes #134

### v1.18.2 - 2014/1/6
* Checked getComputedStyle return value to avoid potential error exception.  Fixes #133

### v1.18.1 - 2013/11/5
* Removed AMD support.  Fixes #109  Ref #56.

### v1.18.0 - 2013/10/20
* Fixed error that was being thrown in Firefox 3.x. Fixes #112

### v1.17.8 - 2013/9/7
* Minor change to not append the mirror element when the plugin is applied to an empty jQuery collection

### v1.17.7 - 2013/9/3
* Reverted to an earlier fix for a Chrome issue.  Too many issues with using setSelectionRange.

### v1.17.6 - 2013/8/24
* Fixed a potential issue introduced in 1.17.4 that causes an 'NS_ERROR_FAILURE' error in Firefox.

### v1.17.5 - 2013/8/23
* Fixed oversight in 1.17.4 that caused Firefox fix not to be applied.

### v1.17.4 - 2013/8/22
* Improved speed of editing large blocks of text in Firefox.

### v1.17.3 - 2013/8/2013
* Resolved an issue that was causing slowing down initialization for large blocks of text in Chrome.
* Renamed minified file from jquery.autosize-min.js to jquery.autosize.min.js

### v1.17.2 - 2013/7/28
* Added support for loading as an AMD module.
* Added package.json for installing through NPM.

### v1.17.1 - 2013/6/22
* Fixed potential memory leak when using autosize.destroy.

### v1.17.0 - 2013/6/19
* Renamed 'autosize' event to 'autosize.resize'
* Renamed 'autosize.includeStyle' event to 'autosize.resizeIncludeStyle'
* Fixes problem introduced in 1.16.18 with manually triggering the 'autosize' event:

### v1.16.20 - 2013/6/18
* Minor improvement to the destroy event.

### v1.16.19 - 2013/6/18
* Added event for removing autosize from a textarea element:
	$('textarea.example').trigger('autosize.destroy');

### v1.16.18 - 2013/6/18
* Added event for manually triggering resize that also accounts for typographic styles that have changed on the textarea element. Example:
	$('textarea.example').css('text-indent', 25);
	$('textarea.example').trigger('autosize.includeStyle');
* Minor optimization

### v1.16.17 - 2013/6/12
* Fixed a compatibility issue with jQuery versions before 1.9 introduced in the previous update.

### v1.16.16 - 2013/6/11
* Fixed an issue where the calculated height might be slightly off in modern browsers when the width of the textarea has a sub-pixel value.

### v1.16.15 - 2013/6/7
* Reduced how frequently autosize is triggered when resizing the window. Added resizeDelay property so that the frequency can be adjusted or disabled.

### v1.16.14 - 2013/6/6
* Fixed an issue with autosize working poorly if the mirror element has a transition applied to it's width.

### v1.16.13 - 2013/6/4
* Fixed a Chrome cursor position issue introduced with the reflow workaround added in 1.16.10.

### v1.16.12 - 2013/5/31
* Much better efficiency and smoothness for IE8 and lower.

### v1.16.11 - 2013/5/31
* Fixed a default height issue in IE8 and lower.

### v1.16.10 - 2013/5/30
* Dropped scrollHeight for scrollTop. This fixed a height problem relating to padding. (Fixes #70)
* Re-added workaround to get Chrome to reflow text after hiding overflow.

### v1.16.9 - 2013/5/20
* Reverted change from 1.16.8 as it caused an issue in IE8. (Fixes #69)

### v1.16.8 - 2013/5/7
* Fixed issue where autosize was creating a horizontal scrollbar for a user

### v1.16.7 - 2013/3/20
* Added workaround for a very edge-case iOS bug (Fixes #58).

### v1.16.6 - 2013/3/12
* Replaced jQuery shorthand methods with on() in anticipation of jQuery 2.0 conditional builds

### v1.16.5 - 2013/3/12
* Fixed a bug where triggering the autosize event immediately after assigning autosize had no effect.

### v1.16.4 - 2013/1/29
* Fixed a conflict with direction:ltr pages.

### v1.16.3 - 2013/1/23
* Added minified file back to repository

### v1.16.2 - 2013/1/20
* Minor box-sizing issue dealing with min-heights.

### v1.16.1 - 2013/1/20
* Added to plugins.jquery.com

### v1.15 - 2012/11/16
* Reworked to only create a single mirror element, instead of one for each textarea.
* Dropped feature detection for FF3 and Safari 4.

### v1.14 - 2012/10/6
* Added 'append' option for appending whitespace to the end of the height calculation (an extra newline improves the apperance when animating).
* Added a demonstration of animating the height change using a CSS transition.

### v1.13 - 2012/9/21
* Added optional callback that fires after resize.

### v1.12 - 2012/9/3
* Fixed a bug I introduced in the last update.

### v1.11 - 2012/8/8
* Added workaround to get Chrome to reflow default text better.

### v1.10 - 2012/4/30
* Added 'lineHeight' to the list of styles considered for size detection.

### v1.9 - 2012/6/19
* Added 'textIndent' to the list of styles considered for size detection.
* Added vender prefixes to box-sizing detection

### v1.8 - 2012/6/7
* Added conditional so that autosize cannot be applied twice to the same element
* When autosize is applied to an element, it will have a data property that links it to the mirrored textarea element.  This will make it easier to keep track of and remove unneeded mirror elements.  Example:

    $('textarea.example').data('mirror').remove(); // delete the mirror

    $('textarea.example').remove(); // delete the original

### v1.7 - 2012/5/3
* Now supports box-sizing:border-box

### v1.6 - 2012/2/11
* added binding to allow autosize to be triggered manually.  Example:
  $('#myTextArea').trigger('autosize');

### v1.5 - 2011/12/7
* fixed a regression in detecting Firefox support

### v1.4 - 2011/11/22
* added branching to exclude old browsers (FF3- & Safari4-)

### v1.3 - 2011/11/13
* fixed a regression in 1.1 relating to Opera.

### v1.2 - 2011/11/10
* fixed a regression in 1.1 that broke autosize for IE9.

### v1.1 - 2011/11/10
* autosize now follows the max-height of textareas.  OverflowY will be set to scroll once the content height exceeds max-height.

### v1.0 - 2011/11/7
* first release