Javascript原型回调

问题描述

| 我在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 现在,对话队列似乎可以正常工作,但是我对如何使回调函数正常工作感到迷茫。     

解决方法

        您需要将回调存储在对话框对象中,然后在适当的时间调用它们。例如。,
UIDialog.prototype.proceed = function(callback) { this.cbProceed = callback; }
然后在处理进行逻辑的对话框逻辑中,如果已设置回调,只需调用它:
if (this.cbProceed && jQuery.isFunction(this.cbProceed))
  this.cbProceed();