Подтвердить что ты не робот

Ошибка jQuery Autosize плагина - промежуточное значение (...) не является функцией

Я использую плагин jQuery Autosize:

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

script вы можете увидеть здесь:

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

Вот как я использую script:

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

Проблема N 1

Просто обновил script до последней версии и он прекратил работать:

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

Консоль Javascript сообщает об этой ошибке в последней строке script:

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

Проблема N 2

Script не работает в модальных окнах (PrettyPhoto), а javascript-консоль не показывает никаких ошибок.

Любые идеи?

4b9b3361

Ответ 1

"TypeError: (intermediate value)(...) is not a function" появляется из-за отсутствия полуколоны в функции до того, как она вызывает ошибку. Это может быть так просто:

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

или это может быть функция, объявленная до этого. Пример этого в этом коде:

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

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

приводит к Промежуточное значение не... в последней строке: })( jQuery );

Тем не менее, исправление добавляет полуточку к заполняемой функции:

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

чтобы обозреватель не думал о том, что "var populate =..." и (function ($)... - это один оператор, второй - от первого.

Ответ 2

FWIW изменился метод вызова autosize. Если вы закончите здесь и используете его с jQuery

Раньше это был

$('textarea').autosize();

Новый вызов

autosize($('textarea'));

Ответ 3

Вы, возможно, объявили функцию внутри функции после того, как она вам понадобилась. Это была моя проблема.