防止在弹出窗口外单击时关闭SweetAlert

问题描述 投票:16回答:8

我正在使用Sweet Alert在电子商务应用程序中的产品视图中弹出一个带有两个按钮的弹出窗口:一个用于进入购物车视图,另一个用于重新加载视图。

但是当用户在弹出窗口外单击时,弹出窗口会自动关闭。我试过跟随属性来阻止它关闭但没有任何作用:

hideOnOverlayClick: false,
hideOnContentClick: false,
closeClick: false,
helpers: {
    overlay: { closeClick: false } 
}

任何帮助/建议都非常感谢。

谢谢。

javascript sweetalert
8个回答
26
投票

如果您使用的是Sweet Alert 2,则可以使用此配置

allowOutsideClick: false

这应该工作。


17
投票

您正在寻找的房产是closeOnClickOutside:

closeOnClickOutside: false

10
投票

对于SweetAlert 2:

allowOutsideClick: false

版本3和版本2以下版本:

closeOnClickOutside: false

2
投票

它是allowOutsideClick:false例如

swal({
  title: "View Cart",
  text: "Are you sure?",
  type: "warning",
  showCancelButton    : true,
  confirmButtonColor  : "#ff0000",
  confirmButtonText   : "Yes",
  allowOutsideClick: false,
  CancelButtonText    : "No"
            },
                function() //confirm
            {
                //if Yes do this
            }
);

0
投票

您可以设置此属性:

allowOutsideClick: true

0
投票

如果你不想在esc或外面点击对话关闭下面对我有用。

swal({
  title: "Are you sure?",
  text: "You will not be able to recover this details!",
  icon: "warning",
  closeOnClickOutside: false,
  closeOnEsc: false,
  allowOutsideClick: false,
  buttons: [
    'No, cancel it!',
    'Yes, I am sure!'
  ],
  dangerMode: true,
})

0
投票

如果上述答案不适用于您,请尝试:

closeOnClickOutside: false


0
投票

对于sweetalert版本<2

swal(
         "Records will be deleted permanently.",  //title
         "Do you want to delete records?",  //text
         "warning",  //icon
         {
              closeOnClickOutside: false, // prevent close on click anywhere/outside
              buttons: ["No", "Yes"], //with custom label
              dangerMode: true,
         }
    ).then(ok => {
         if (ok) {
              console.log("deleted")
         }
         else {
              console.log("not deleted")
         }
    })
© www.soinside.com 2019 - 2024. All rights reserved.