Javascript 使用jQuery对话框时如何停止脚本?
我相信这已经被问过很多次了。我看到的是2012年12月。但我想问一下,是否有人对此问题有解决方案/更好的解决方法 我正在使用Javascript 使用jQuery对话框时如何停止脚本?,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我相信这已经被问过很多次了。我看到的是2012年12月。但我想问一下,是否有人对此问题有解决方案/更好的解决方法 我正在使用jQueryUI对话框,我想问,当对话框弹出且用户尚未选择答案时,是否可以停止脚本执行。就像javascriptconfirm()一样 以下是我目前掌握的情况: jQuery $("#GlobalDialogBox").dialog({ modal: true, buttons: { "Yes": function () {
jQueryUI对话框
,我想问,当对话框弹出且用户尚未选择答案时,是否可以停止脚本执行。就像javascriptconfirm()
一样
以下是我目前掌握的情况:
jQuery
$("#GlobalDialogBox").dialog({
modal: true,
buttons: {
"Yes": function () {
callbackFunctionTrue();
$(this).dialog('close');
},
"No": function () {
callbackFunctionFalse();
$(this).dialog('close');
}
}
});
alert("This should fire after answering the dialog box."); //but this fires as soon as the dialog pops up.. :(
警报
是脚本的一个常见部分,在回答对话框后会触发,而不管回答是什么。在我的修复中,我刚刚在callbackFunctionTrue()
和callbackFunctionFlase()
中插入了alert
,它就完成了任务
但是如果我不想那样做呢?当对话框弹出时,如何停止脚本,以便在
对话框
脚本下自由添加代码?有谁有更好的解决办法吗?任何帮助都将不胜感激!提前谢谢!:] 您可以使用返回按钮来停止该功能。当对话框关闭时,它会触发关闭事件。您可以通过向对话框中添加事件侦听器来完成此操作:
$("#GlobalDialogBox").on( "dialogclose", function( event, ui ) {
alert("something");
});
或者以更一致的方式:
$("#GlobalDialogBox").dialog({
modal: true,
buttons: {
"Yes": function () {
callbackFunctionTrue();
$(this).dialog('close');
},
"No": function () {
callbackFunctionFalse();
$(this).dialog('close');
}
},
close: function(event, ui){
alert("something");
}
});
您不能随意暂停脚本执行。在这种情况下,回调函数是最好的解决方案,因此在对话框上的按钮选项下面添加一个关闭事件处理程序,并在对话框关闭后将您的警报和任何其他要执行的代码放在其中。不确定您为什么不想这样做。你所实现的和我在相同情况下所实现的一样,而且效果很好。在自己的JavaScript函数中启动对话框,并根据单击的元素启动yes/no函数。不需要警报框。他要求暂停而不是停止
function dialog_confirm(){
$( "#dialog-confirm" ).dialog({
//autoOpen: false,
resizable: false,
height:140,
modal: true,
buttons: {
"Delete all items": function() {
$( this ).dialog( "close" );
dialog_confirm_callback(true);
},
Cancel: function() {
$( this ).dialog( "close" );
dialog_confirm_callback(false);
}
}
});
}
function dialog_confirm_callback(value) {
if (value) {
alert("Confirmed");
} else {
alert("Rejected");
}
}