问题描述
|
我在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();