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

Bootstrap confirmation在onClick点击事件中无法正常生效是什么原因?

问题原因
  • 初始化时机错误:你将Confirmation组件的初始化逻辑放在了按钮的点击回调中,第一次点击按钮时才会触发组件初始化,此时组件刚完成绑定,无法响应本次点击事件弹出确认框;且每次点击都会重复执行初始化逻辑,会导致组件状态混乱无法正常工作。
  • 事件冲突:Confirmation组件本身就是依靠监听点击事件触发弹窗的,将初始化逻辑放在同按钮的点击事件中,会出现事件触发顺序冲突,干扰组件本身的事件逻辑。
解决方案

方案1:页面加载完成后全局初始化(推荐)

不需要将初始化放在点击事件中,DOM加载完成后直接初始化即可,代码如下:

$(function() {
  $('[data-toggle=confirmation]').confirmation({
    rootSelector: '[data-toggle=confirmation]'
  });
})

方案2:必须在点击时才初始化的特殊场景

如果有动态渲染、前置校验等特殊需求,必须点击时才初始化,需要增加初始化状态判断,且初始化完成后手动触发弹窗显示:

$('.myButton').on("click", function(e) {
  const $btn = $(this);
  // 校验是否已经初始化,避免重复初始化
  if (!$btn.data('bs.confirmation')) {
    $btn.confirmation({
      rootSelector: '[data-toggle=confirmation]'
    });
    // 手动触发确认框显示
    $btn.confirmation('show');
    // 阻止本次事件冒泡和默认行为,避免冲突
    e.stopImmediatePropagation();
    e.preventDefault();
  }
});

内容的提问来源于stack exchange,提问作者Rohit Verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:39:02