jquery autogrow

Error del complemento de tamaño de jQuery: el valor intermedio(…) no es una función



autogrow (3)

Yo uso jQuery Autosize plugin:

http://www.jacklmoore.com/autosize/

El script en sí lo puedes ver aquí:

http://www.jacklmoore.com/js/jquery.autosize.js

Así es como uso el script:

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

Problema N 1

Acabo de actualizar el script a la última versión y dejó de funcionar:

"TypeError: (intermediate value)(...) is not a function"

La consola de Javascript informa de este error en la última línea del script:

}(window.jQuery || window.$));

Problema n 2

El script no funciona en las ventanas modales (PrettyPhoto) y la consola de javascript no muestra ningún error.

¿Algunas ideas?


Es posible que haya declarado una función, dentro de una función, después de haberla necesitado. Este fue mi problema


FWIW el método de invocación de tamaño automático ha cambiado. Si terminas aquí y lo estás usando con jQuery

Anteriormente fue

$(''textarea'').autosize();

La nueva invocación es

autosize($(''textarea''));


el "TypeError: (intermediate value)(...) is not a function" aparece como resultado de la falta de un punto y coma en la función ANTES de la que genera un error. Podría ser tan simple como:

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

O podría ser la función declarada antes de eso. Un ejemplo de cómo esto es causa está en este código:

var populate = function(sw) { myglobalswitch = sw; window.setTimeout(repopulate, 250, sw); } (function( $ ) { $.widget( "custom.combobox", { _create: function() { .... })( jQuery );

los resultados en el valor Intermedio no son ... en la última línea: })( jQuery );

Sin embargo, la solución es agregar un punto y coma a la función de poblado:

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

para evitar que el analizador piense que "var populate = ..." y (function ($) ... son una sola declaración, la segunda se extiende desde la primera.