我想使用jQueryUI对话框模仿标准的JavaScript confirm().我在考虑以下内容,但我显然不明白它应该如何运作.有什么建议么?谢谢
return $("#dialog-cancel").dialog("open"); $("#dialog-cancel").dialog({ autoOpen: false,height: 400,width: 350,modal: true,open: function(event,ui){},buttons: {'OK': function(){$(this).dialog("close");return true;},'CANCEL': function() {$(this).dialog("close");return false;}} });
解决方法
副本确实没用.对不起,我很抱歉.
基于这个answer,这就是我要做的:
>创建一个函数,创建一个带有消息和OK / Cancel按钮的基本模态对话框
>为单击它们时执行的两个按钮接受两个回调
好处是它不会像答案那样用无限循环来阻止整个浏览器. jQuery UI对话框的选项模式只是阻止当前页面.
这是代码:
function confirmDialog(message,onOK,onCancel) { $('<div>' + message + '</div>').dialog({ modal: true,buttons : { "OK" : function() { $(this).dialog("close"); // if there is a callback,execute it if (onOK && $.isFunction(onOK)) { onOK(); } // destroy the confirmation dialog $(this).dialog("destroy"); },"Cancel" : function() { $(this).dialog("close"); if (onCancel && $.isFunction(onCancel)) { onCancel(); } $(this).dialog("destroy"); } } }); }
你可以这样使用它:
$('button').click(function(e) { var okHandler = function() { alert('ok'); }; confirmDialog('Do you really want ?',okHandler); });