javascript - Bootstrap - 仅在第二次单击后才触发弹出窗口

标签 javascript jquery twitter-bootstrap bootstrap-popover

我动态addClass/removeClass一个名为SiteClass的CSS类(参见this question了解背景)。我将 Bootstrap 弹出窗口绑定(bind)到这些,如下所示:

$(document).ready(function(){

  $("#SiteList").on('click','a.SiteClass', function(e){
    alert('clicked');
    e.preventDefault();
    e.stopPropagation();
    var strcontent = $(this).html();
    var strTitle = 'Title for ' + strcontent;
    var strMessage = 'Foo <b>Bar</b> Baz';

    $(this).popover({
       html: true,
       title: strTitle,
       content: strMessage 
    });
  });

});

第一次单击时,我收到“单击”警报框,但没有弹出窗口。随后单击,弹出窗口就会起作用。

有任何关于为什么会发生这种情况以及如何从点击 1 触发弹出窗口的线索吗?

最佳答案

$().popover(options)只需初始化您的弹出窗口。您可以通过以下方式触发弹出窗口的显示:

$(this).popover('show');

如果您想在点击时切换弹出窗口,请尝试:

$(this).popover('toggle');

我认为它仅在您的情况下第一次单击之后才起作用的原因是,第一次单击时,弹出窗口会使用 the default trigger 进行初始化。 'click',以便后续点击(但不是第一次点击)将触发它。

关于javascript - Bootstrap - 仅在第二次单击后才触发弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187417/

相关文章:

css - Twitter Bootstrap - navbar-nav padding-right 重叠

javascript - 添加到数组中

javascript - 链接 promise ,但在失败时继续下一个 promise (并记录拒绝)

javascript - 伪代码中的 "!"是什么意思?我知道 "!"代表阶乘,但我无法翻译它

javascript - jQuery fadeTo() 用于颜色

html - 顶部导航文本菜单无法正确垂直对齐

javascript - iframe 内容返回未定义

javascript - 动态添加的文本区域不起作用

javascript - Highcharts 在 Y 轴上重复相同的标签值

javascript - 寻找有关如何在鼠标突出显示链接时显示信息警报的选项