我打电话jQuery的每5秒插件用下面的代码传递一个变量setIntervall功能
var now = new Date();
setInterval('$("#id").myplugin(now)', 1000);
插件看起来像这样至今:
(function($){
$.fn.myplugin = function(now) {
return this.each(function() {
alert(now.getTime());
});
}
})(jQuery);
但是我得到的错误:
Uncaught ReferenceError: now is not defined
plugins.js:30 Uncaught TypeError: Cannot call method 'getTime' of undefined
所以它看起来好像现在的时间对象doenst被传递给插件函数,而不是ev在setInterval方法中定义。我大概可以调用var now = new Date();每次都在插件函数中......但我想知道,为什么它能够做到这样的工作以及如何使其工作;)。多谢。
这也正是这样做的方式。切勿将'setInterval'传递给一个字符串 - 总是传递一个函数。 – 2011-06-01 20:16:56
@克里斯:谢谢,补充了你的观点。 – pimvdb 2011-06-01 20:18:32