jQuery Autosize plugin error - intermediate value(...) is not a function

Solution 1:

the "TypeError: (intermediate value)(...) is not a function" pops up as the result of missing a semi colon on the function BEFORE the one it throws an error on. It might be as simple as:

jQuery(function($){$(document).ready(function(){
$('textarea').autosize();
}  
); //<-----

or it could be the function declared before that. An example of how this is cause is in this code:

var populate = function(sw) {
  myglobalswitch = sw;
  window.setTimeout(repopulate, 250, sw);
}

(function( $ ) {
$.widget( "custom.combobox", {
_create: function() {
....
})( jQuery );

results in the Intermediate value is not... on the last line: })( jQuery );

However, the fix is adding a semi colon to the populate function:

var populate = function(sw) {
  myglobalswitch = sw;
  window.setTimeout(repopulate, 250, sw);
}  ;

to prevent the parser from thinking that "var populate = ... " and (function($) ... are a single statement, the second extending from the first.

Solution 2:

FWIW the autosize invocation method has changed. If you end up here and are using it with jQuery

Previously it was

$('textarea').autosize();

The new invocation is

autosize($('textarea'));