我正在寻找一个漂亮的jQuery替代标准对话框。jQUery UI有一个不错的,但它不像confirm()一样暂停脚本执行以等待响应。下面的演示应该显示两个div,显示前面确认框的选择,但是jquery对话框框不会导致脚本等待。
谢谢。
http://jsfiddle.net/EvilAmarant7x/r7Ur5/
我需要一个能让脚本暂停的东西。谢谢。
http://jsfiddle.net/EvilAmarant7x/r7Ur5/
我需要一个能让脚本暂停的东西。你的使用方法有误
应该像这样做
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Proceed: function() {
call_true_function();
$(this).dialog("close");
},
Cancel: function() {
call_false_function()
$(this).dialog("close");
}
}
});
或类似的东西
**编辑**
所以像这样?
count = 0;
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Proceed: function() {
proceed();
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
}
});
function proceed(){
if (count < 10){
count++;
$("#dialog-confirm").dialog('open');
}else{
$('body').append("<div>Yes was selected " + count + " times!</div>");
}
}
如果您使用自定义的确认/模态窗口,很遗憾这是不可能的。您将不得不使用回调函数或选择使用自1.5版本引入的新的延迟对象。
使用延迟对象的代码如下:
var dfd = new $.Deferred();
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Proceed: function() {
dfd.resolve('Success!');
$(this).dialog("close");
},
Cancel: function() {
dfd.reject('Uh-oh!');
$(this).dialog("close");
}
}
});
dfd.then(function() {
// perform next action when user clicks proceed
});
dfd.fail(function() {
// perform some action when the user clicks cancel
});