javascript - Bootstrap popover 只出现一次

标签 javascript jquery twitter-bootstrap

我试图让我的 bootstrap popover 在复选框被“选中”时出现,但它似乎只工作一次。理想情况下,我希望它在每次“选中”复选框时出现,然后在 5 秒后超时。几个小时以来我一直在摆弄它,但似乎无法让它正常工作。

这是我的标记:

<label><input type="checkbox"> Long long long label title </label>

这是我的 JS:

$('label input').on('change', function() {

  if ( $('label input').is(':checked') ) {

  $('label').popover({
    placement: 'bottom',
    content: 'This is awesome popover content!.'
  }).on('shown.bs.popover', function() {
    setTimeout(function() {
    $('label').popover('hide');
    }, 5000);
  });

 }

});

这是我的 fiddle :

link to my JS fiddle

非常感谢任何建议。谢谢!!

最佳答案

您需要做的是初始化 popover在 dom 上准备好手动触发,然后当复选框被选中时调用 show 函数

$('label').popover({
    placement: 'bottom',
    content: 'This is awesome popover content!.',
    trigger: 'trigger'
}).on('shown.bs.popover', function (e) {
    setTimeout(function () {
        $(e.target).popover('hide');
    }, 5000);
});

$('label input').on('change', function () {
    if (this.checked) {
        $(this).parent().popover('show')
    }
});

演示:Fiddle

关于javascript - Bootstrap popover 只出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111607/

相关文章:

javascript - 字段计算

javascript - jQuery:使用 .clone() 的方法比下面描述的更简单?

javascript - 当我更新 bs3 中的组列表时,我丢失了字形图标

javascript - 从 JavaScript 访问 TypeScript 函数

javascript - AngularJS:独立于 $routeProvider 的 Controller 出现 ReferenceError

jquery - 如何将包含 css 类的变量用于 document.queryselector()?

css - Twitter Bootstrap 3 水平滚动问题

javascript - 单击 Accordion 面板个人 ID 时如何打开新图像(同一窗口)

javascript - Node 流: How can a readable stream emit another readable event if it has been drained (end was emitted)

javascript - Timesheet.js 未启动