jQueryUI对话框替换确认?

ITW*_*ker 2 html javascript jquery jquery-ui

我试图用jQueryUI对话框覆盖默认确认框,这是我的尝试:

window.confirm = function (message_confirm) {
        $(document.createElement('div'))
            .attr({ title: 'Please confirm', 'class': 'confirm', 'id': 'dialogconfirm' })
            .html(message_confirm)
            .dialog({
                buttons: { YES: function () { return true; }, NO: function () { $(this).dialog('close'); } },
                close: function () { $(this).remove(); },
                draggable: true,
                modal: true,
                resizable: false,
                width: 'auto',
                hide: { effect: "fade", duration: 300 },

            });

    };
Run Code Online (Sandbox Code Playgroud)

这适用于一旦运行此脚本,调用常规confirm显示jQueryUI对话框,但是,YES选择不起作用.我有一个像下面这样的ajax调用:

if (confirm("Are you sure you want to delete this user?"))
{
      alert("test");
     //ajax call
}
return false;
Run Code Online (Sandbox Code Playgroud)

并没有出现测试警报.对话框的NO选择工作正常.如何让YES工作?

谢谢.

Seb*_*iak 5

你可以在函数中添加一个回调参数

window.confirm = function (message_confirm, ok_callback)
Run Code Online (Sandbox Code Playgroud)

点燃是的

 buttons: { YES: function () { ok_callback(); }}
Run Code Online (Sandbox Code Playgroud)

并继续下去

confirm("message", function(){
    alert('smth');
});
Run Code Online (Sandbox Code Playgroud)