ОБНОВЛЕНИЕ: Я, конечно, неправильно понял проблему, мой оригинальный код отредактирован для работы:
var foo = function () {
var that = this;
that.editObject = function() {
alert('Test');
setTimeout(that.editObject, 1000);
}
}
new foo().editObject();
...
Всякий раз, когда движок Javascript будет пытатьсявызовите "editObject ()", определенный в вашей функции jQuery, он выходит за рамки вашей функции jQuery, он фактически находится в глобальной области видимости, но ваша функция editObject () определена в вашей функции jQuery.
Вы можетесоздайте editObject в глобальной области видимости или создайте ссылку на вашу функцию jQuery и передайте ее в вызове setTimeout, например:
var that = this;
that.editObject = function() {
alert('Test');
setTimeout(that.editObject(), 1000);
}