我打電話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