我正在使用JQuery & JQuery UI,我尝试使用JQuery UI对话框来解决这个问题,但我无法完成它。
基本上,我有这样一个代码,它使用JS确认框:
// if user presses cancel, do not proceed to the next section of the code
if ( ! confirm('Are you sure you want to press OK?')) {
return;
}
.... Lots of code below我想把这个变成使用我可以使用CSS自定义的自定义框。我尝试了UI对话框:
function confirmIt(text) {
$('#confirm_dialog').dialog({
width: 300,
height: 150,
buttons: {
"OK": function() { return true; },
"Cancel": function() { return false; }
}
});
}
if ( ! confirmIt('Are you sure you want to press OK?')) {
return;
}
.... Lots of code below现在,上面的代码的问题是,在if条件下仍然会执行很多代码。我知道JQuery对话框是aync进程,但我想知道是否有这样的免费插件可以用来返回布尔值?从功能上讲,它应该与JS confirm()完全相同。为了实现这一点,我不想在JQuery UI对话框的回调中包装大量代码。我只想停止脚本的执行,如果CANCEL is clicked和继续执行,如果OK is clicked。
发布于 2014-08-25 17:17:45
由于无法停止脚本执行(except for debugging),所以您应该修改您的方法:
function confirmIt(text, okFunc, cancelFunc) {
$('#confirm_dialog').dialog({
width: 300,
height: 150,
buttons: {
"OK": okFunc && okFunc,
"Cancel": cancelFunc && cancelFunc
}
});
}
confirmIt('Are you sure you want to press OK?', function(){
.... Lots of code below
}, function(){
...function on cancel (which can be empty)
});因此,如果取消按钮上没有任何操作,只需使用
confirmIt('Are you sure you want to press OK?', function(){
.... Lots of code below
});或
confirmIt('Are you sure you want to press OK?', confirmFunction);
function confirmFunction(){
.... Lots of code below
}https://stackoverflow.com/questions/25490789
复制相似问题