我想在下面的代码片段中用sweetalert替换javascript confirm
,但我发现了两个限制,1)sweetalert不会像确认那样暂停执行,2)sweetalert不会返回value,boolean,like confirm:
$(document).ready(function(){
$('#cancelList').click(function(e){
e.preventDefault();
m = confirm($(this).attr('confirm-msg'));
if (!m){
return true;
}
url = $(this).children('a').attr('href');
......
为了返回布尔值,我尝试使用它,如下所示:
$(document).ready(function(){
$('#cancelList').click(function(e){
e.preventDefault();
m = false;
swal({text:$(this).attr('confirm-msg'), type: 'warning',title: '', showCancelButton: true}, function(isConfirm){m = isConfirm; return m;});
alert('It should not be here before decide in swal');
if (!m){
return true;
}
在上面的代码段中,在sweetalert确认出现之前调用了alert
!单击“确定”或“在sweetalert上取消”似乎不会影响全局变量m
。
这里有什么问题?是否有任何解决方法,而不是将其余代码包含在sweetalert的回调函数中?