jQuery Autosize插件错误-中间值(..)不是函数



我使用jQuery Autosize插件:

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

你可以在这里看到脚本本身:

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

这就是我使用脚本的方式:

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

问题N1

刚刚将脚本更新到最新版本,它就停止工作了:

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

Javascript控制台在脚本的最后一行报告此错误:

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

问题N 2

脚本在模式窗口(PrettyPhoto(中不起作用,javascript控制台也不会显示任何错误。

有什么想法吗?

"TypeError: (intermediate value)(...) is not a function"由于在抛出错误的函数BEFORE上缺少分号而弹出

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($(。。。是单个语句,第二个语句从第一个语句扩展而来。

FWIW自动大小调用方法已更改。如果你最终来到这里,并将其与jQuery 一起使用

以前是

$('textarea').autosize();

新的调用是

autosize($('textarea'));

在需要函数后,您可能已经在函数内部声明了一个函数。这是我的问题。

最新更新