使用dojo的dialog自定义confirm效果
/** * 使用dojo dialog模拟confirm<br> * 返回true/false<br> * 前提是已经引用了相应的dojo.js<br> * @author: DFH<br> * @since: 2012-05-16 */function dojoConfirm(content,callback){require([ "dijit/Dialog","dijit/form/Button"], function(Dialog) {content=content+"<br/><button dojoType='dijit.form.Button' id='yesButton'>确定</button>" +"<button dojoType='dijit.form.Button' id='noButton'>取消</button>";var confirmDialog = new Dialog({id:"confirmDialog",title : '确认',content : content,onHide : function() {this.destroyRecursive();}});confirmDialog.startup();var yesButton = dijit.byId('yesButton'); var noButton = dijit.byId('noButton'); //如果点击确定按钮 dojo.connect(yesButton, 'onClick', function(mouseEvent) { confirmDialog.hide(); callback(); }); //如果点击取消按钮 dojo.connect(noButton, 'onClick', function(mouseEvent) { confirmDialog.hide();}); confirmDialog.show();});}
?
使用时要注意,代码中定义的三个id值在项目中不要重复。
调用方式
dojoConfirm("确认要删除?",function(){//删除功能...});?与普通confirm不同的是,直接传函数给方法让其在确认后调用,而不是使用if判断