Ошибка 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-консоль не показывает никаких ошибок.
Любые идеи?
Ответы
Ответ 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
Вы, возможно, объявили функцию внутри функции после того, как она вам понадобилась. Это была моя проблема.