gpt4 book ai didi

javascript - sweetalert 暂停执行并返回值

转载 作者:行者123 更新时间:2023-12-05 06:41:31 26 4
gpt4 key购买 nike

我想替换 confirm with sweetalert,在下面的代码片段中,但是我发现了两个限制,1) sweetalert 不会像 confirm 那样暂停执行,2) sweetalert 不会像 confirm 那样返回值, bool 值:

$(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');
......

为了返回 bool 值,我尝试像下面这样使用它:

$(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;
}

在上面的代码片段中,alert 在 sweetalert 确认出现之前被调用!!!并且全局变量 m 似乎不受在 sweetalert 上单击“确定”或“取消”的影响。

这里有什么问题?除了将其余代码包含在 sweetalert 的回调函数中之外,是否有任何解决方法?

最佳答案

我遇到了同样的问题,在网上发现sweet alert使用了promises。您可以将 sweet alert 用作:

Swal.fire({
/*attributes*/
}).then(function (){
/*code to execute after alert*/
});

这样promise block 中的代码会在点击alert按钮后执行

关于javascript - sweetalert 暂停执行并返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40334581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com