我想在我的jQuery函数中调用editObject(),初始化调用可以工作,但是setTimeout不工作,如何让它运行?控制台提示setTimeout调用时未定义editObject:
(function($){
$.fn.extend({
...
editObject()
function editObject() {
alert("Test!");
setTimeout('editObject()', 1000);
}
return this.each(function() {
var o = options;
});
}
});
})(jQuery);感谢您的帮助!
发布于 2011-01-08 00:10:55
你可以试试这个:
setTimeout(function(){ editObject.call() }, 1000);或者:
setTimeout(arguments.callee, 1000);发布于 2011-01-08 00:12:43
它不起作用,因为editObject()是在匿名函数的作用域中声明的,但是setTimeout()会计算您在全局上下文中传递给它的字符串。试试这个:
setTimeout(editObject, 1000);发布于 2011-01-08 00:13:18
您应该避免使用字符串版本的setTimeout。
我相信,在这种情况下,Javascript正在寻找函数window.editObject,而这个函数并不存在。
您应该使用:
setTimeout(editObject,1000);相反,由于这是在调用时获取对对象的引用,因此当超时到期时,该函数将可供Javascript调用
https://stackoverflow.com/questions/4627500
复制相似问题