我使用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'));
在需要函数后,您可能已经在函数内部声明了一个函数。这是我的问题。