Javascript原型回调

时间:2011-06-12 17:35:31

标签: javascript jquery callback prototype-programming

我看到John Resig关于“简单类实例化”的这篇精彩文章:http://ejohn.org/blog/simple-class-instantiation/

所以我开始以这种方式创建脚本,但遗憾的是它引起了一些麻烦和困惑。

我正在研究某种“自定义对话框架”,它应该只能一次查看一个对话框,如果你关闭一个,则会出现下一个。我们称之为对话框队列

其次,它应该运行继续取消,具体取决于用户选择的内容。所以我们可以像这样使用它:

var dialog = UIDialog();
dialog.proceed(function() {
    // Do stuff
});
dialog.cancel(function() {
    // Do stuff
});

我目前有这段代码:http://pastebin.com/sGyjArfA 现在,对话框队列似乎可以工作,但我很遗憾我应该如何使回调工作。

1 个答案:

答案 0 :(得分:1)

您需要将回调存储在对话框对象中,然后在适当的时候调用它们。如,

UIDialog.prototype.proceed = function(callback) { this.cbProceed = callback; }

然后在处理继续逻辑的对话逻辑中,只要调用它就调用它:

if (this.cbProceed && jQuery.isFunction(this.cbProceed))
  this.cbProceed();