You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SweetAlert点击按钮无响应,页面刷新自动弹出问题求助

解决SweetAlert弹窗页面加载自动弹出、点击按钮无响应的问题

问题场景

点击按钮想触发SweetAlert弹窗,但按钮无任何反应,反而页面刷新时弹窗自动弹出,需求是仅在点击按钮时显示弹窗。

问题复现代码

JavaScript

function successAlert()
Swal.fire(
   'saved!',   
   'success'
 )

CSS

.show-example-btn {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif; 
}

HTML

<script src="sweetalert2.min.js"></script>
<link rel="stylesheet" href="sweetalert2.min.css">
<div class="showcase sweet">
      <button
        class="show-example-btn"
        aria-label="Show SweetAlert2 success message"
        onclick="successAlert()">
        save
      </button>
      <pre data-example-id="sweetAlert"></pre>
    </div>

问题原因

函数定义缺少大括号,导致Swal.fire语句未被包裹在函数体内。页面加载时,Swal.fire会被直接执行,所以自动弹出弹窗;而点击按钮时,successAlert因语法错误未正确定义,因此点击无响应。

修正后的代码

JavaScript

function successAlert() {
  Swal.fire(
    'saved!',
    '',
    'success'
  )
}

补充说明:Swal.fire的标准参数格式为Swal.fire(title, text, icon),这里补充了第二个可选参数(空字符串),确保参数传递符合SweetAlert2的要求。

HTML和CSS代码无需修改,保留原内容即可。修改后,只有点击按钮时才会调用successAlert函数触发弹窗,页面加载时不会自动弹出。

内容的提问来源于stack exchange,提问作者Saza.P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 01:40:07