我有以下代码用于使用 Bootstrap 模式进行确认对话框,它应该在闭包中调用:
this.events.register(this, function(e) {
this.makeModal(e);
// this is what used to work for me
/*
if (confirm('Are you sure?')) {
alert(e.data);
} else {
// DO NOTHING
}
*/
});
makeModal: function(e) {
//...
$(btnCancel).on("click", $(modal).modal('hide'));
$(btnConfirm).on("click", alert('confirm'));
}
只有两个按钮,即 btnCancel 和 btnConfirm。问题是在调用外部函数后,内部警报也会立即触发,这使得确认对话框无用。我怎样才能解决这个问题?出于特定原因,我不能使用 bootbox 等库。
或者我可以从这个模式中返回是或否吗?如果是这样,我该怎么做?
先感谢您!
编辑:这是我返回是或否的糟糕尝试:
makeModal: function(e) {
//...
var choice;
$(btnCancel).on("click", choice = false);
$(btnConfirm).on("click", choice = true);
return choice;
}