我使用jQuery Autosize插件:
http://www.jacklmoore.com/autosize/
您可以在此处看到脚本本身:
http://www.jacklmoore.com/js/jquery.autosize.js
这就是我使用脚本的方式:
jQuery(function($){$(document).ready(function(){
$('textarea').autosize();
}
问题N 1
刚刚将脚本更新到最新版本并停止工作:
"TypeError: (intermediate value)(...) is not a function"
Javascript控制台在脚本的最后一行报告此错误:
}(window.jQuery || window.$));
问题N 2
脚本在模态窗口(PrettyPhoto)中不起作用,并且javascript控制台不显示任何错误。
有什么想法吗?
答案 0 :(得分:147)
"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 );
但是,修复程序是在populate函数中添加一个半冒号:
var populate = function(sw) {
myglobalswitch = sw;
window.setTimeout(repopulate, 250, sw);
} ;
防止解析器认为&#34; var populate = ...&#34;和(function($)...是单个语句,第二个是从第一个语句延伸。
答案 1 :(得分:6)
FWIW自动调整大小调用方法已更改。如果你最终在这里并使用它与jQuery
以前是
$('textarea').autosize();
新调用是
autosize($('textarea'));
答案 2 :(得分:-1)
您可能在需要之后在函数内声明了一个函数。这是我的问题。