(function($)
{
$.fn.myPlugin = function(options)
{
var _this;
var timer1;
var foo = function(n)
{
if (timer1 != null) return; // in action
timer1 = setInterval("bar("+n+")", 500);
};
var bar = function(n)
{
...
if ( ... ) clearInterval(timer1);
};
return this.each(function()
{
_this = $(this);
_this.bind("click", function(){ foo(10); });
});
}
})(jQuery);
这不起作用,因为“bar未定义。”
答案 0 :(得分:3)
而不是字符串,你需要传递一个直接引用bar
的函数,所以不要这样:
setInterval("bar("+n+")", 500);
这样做:
setInterval(function() { bar(n) }, 500);
此外,您需要接受问题以获得任何未来的答案,您可以通过单击帮助您解决问题的答案旁边的复选标记来执行此操作。它为您提供代表,回答者代表,并帮助下一位Google员更快地找到合适的答案。