我有一个使用jquery对话框确认操作的页面,在执行操作后,代码将启动对话框的关闭并返回到门户网站。虽然我的后端将处理所做的操作,但我想使用jGrowl不引人注意的通知通知用户,告知他们操作不成功。但是,使用以下代码,jGrowl无法在对话框关闭后设置执行并显示。 (我的导入已在此阶段完成)我应该在哪里放置代码?
$("#pop").click(function(){
$( "#dialog-confirm" ).dialog( "open" );
return false;
});
$( "#dialog-confirm" ).dialog({
autoOpen: false,
resizable: false,
height:200,
modal: true,
buttons: {
"Drop": function() {
//ajax
var checkbox = $("#repost").val();
$( this ).dialog( "close" );
$.jGrowl('ACTION SUCCESSFUL!');
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
答案 0 :(得分:1)
您可以将jGrowl的beforeClose事件与计时器结合使用。
$.jGrowl('ACTION SUCCESSFUL!', {
life: 1000,
beforeClose: function(e,m) {
$( "#dialog-confirm" ).dialog( "close" );
}
});
jGrowl的通知应持续1000毫秒,然后关闭对话框。 我没有测试过,但它应该可以工作。
更新:我忘了提到你的DROP事件不应该关闭对话框。 看起来应该是这样的:
$("#pop").click(function(){
$( "#dialog-confirm" ).dialog( "open" );
return false;
});
$( "#dialog-confirm" ).dialog({
autoOpen: false,
resizable: false,
height:200,
modal: true,
buttons: {
"Drop": function() {
//ajax
var checkbox = $("#repost").val();
// $( this ).dialog( "close" );
$.jGrowl('ACTION SUCCESSFUL!', {
life: 1000,
beforeClose: function(e,m) {
$( "#dialog-confirm" ).dialog( "close" );
}
});
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});