web-dev-qa-db-fra.com

Erreur du plug-in jQuery Autosize - la valeur intermédiaire (...) n'est pas une fonction

J'utilise le plugin jQuery Autosize:

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

Le script lui-même, vous pouvez voir ici:

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

Voici comment j'utilise le script:

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

Problème N 1

Vient de mettre à jour le script avec la dernière version et cela s’est arrêté:

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

La console Javascript signale cette erreur sur la dernière ligne du script:

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

Problème N 2

Le script ne fonctionne pas dans les fenêtres modales (PrettyPhoto) et la console javascript ne montre aucune erreur.

Des idées?

44
user

la "TypeError: (intermediate value)(...) is not a function" apparaît parce qu'il manque un point-virgule sur la fonction AVANT celle sur laquelle une erreur est générée. Cela pourrait être aussi simple que:

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

ou ce pourrait être la fonction déclarée auparavant. Un exemple de la cause est dans ce code:

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

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

résulte dans le la valeur intermédiaire n'est pas ... sur la dernière ligne: })( jQuery );

Cependant, le correctif ajoute un point-virgule à la fonction de remplissage:

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

pour empêcher l’analyseur de penser que "var populate = ..." et (function ($) ... sont une seule instruction, la seconde s’étendant de la première.

147
ppostma1

FWIW la méthode d’appel de la taille automatique a changé. Si vous vous retrouvez ici et que vous l'utilisez avec jQuery

Auparavant, c'était

$('textarea').autosize();

La nouvelle invocation est

autosize($('textarea'));
7
engineerDave