我正在尝试替换 JavaScript 的 confirm() 函数。我找到了可以完全自定义的 jquery dialog() 函数。问题是我无法让它返回 true 或 false。
以下是我的代码:
$('#delBox').dialog(
{ autoOpen: false, resizable: false, modal: true, closeOnEscape: true, width: 300, height: 'auto', title: 'Deletar registro',
buttons: {
"Ok": function () {
return true;
}, "Cancelar": function () {
$(this).dialog("close");
return false;
}
},
open: function () {
var buttonsSet = $('.ui-dialog-buttonset').find("button:contains('Ok')");
buttonsSet.attr("class", "ui-button ui-state-default");
$('.ui-dialog-titlebar-close span').empty();
$('.ui-dialog-buttonset').find("button:contains('Ok')").button({
text: false,
icons: {
primary: 'ui-icon-ok'
}
});
$('.ui-dialog-buttonset').find("button:contains('Cancelar')").button({
text: false,
icons: {
primary: 'ui-icon-cancel'
}
});
}
});
这只会在选择选项之前返回一个对象:
function deletar() {
alert($('#delBox').dialog('open'));
}
return def.promise()
返回受限Promise接口? - Ates Goraldef.promise()
更好 - 很好的观点。 - AlnitakshowDialog
中,我是否需要使用$.one
将事件绑定到OK
和Cancel
上,即每次调用showDialog
时都会添加一次执行的事件?有没有一种方法可以使用$.on
,即绑定它们一次并重复使用showDialog
? - user