以下代码是一个包含“确定”和“取消”按钮的确认对话框,我想检索用户选择“确定”或“取消”的值。
dojo.provide("custom.dialog.ConfirmDialog");
dojo.declare("custom.dialog.ConfirmDialog",dijit.Dialog , {
message : "",
postCreate: function(){
var self = this;
this.inherited(arguments);
this.contentCenter = new dijit.layout.ContentPane({ content : this.message, region: "center"});
this.contentBottom = new dijit.layout.ContentPane({region: "bottom"});
this.okButton = new dijit.form.Button( { label: "OK" } );
this.cancelButton = new dijit.form.Button( { label: "Cancel" } );
this.contentBottom.addChild(this.okButton);
this.contentBottom.addChild(this.cancelButton);
this.addChild(this.contentCenter);
this.addChild(this.contentBottom);
this.okButton.on('click', function(e){
self.emit('dialogconfirmed', { bubbles: false } );
self.destroy();
return "OK";
});
this.cancelButton.on('click', function(e){
self.emit('dialogdeclined', { bubbles: false } );
self.destroy();
return "Cancel";
});
}
});
但是没有回复,如果你能指出我的错误,请帮助我,谢谢!
答案 0 :(得分:2)
您是否尝试访问事件侦听器中的值?您可以将标签作为参数的一部分传递。
self.emit('dialogconfirmed',
{ bubbles: false, label: self.okButton.get('label') } );
用法:
this.confirmDialog.on('dialogconfirmed', function(data) {
var label = data.label;
});