【问题标题】:Bootstrap - Popover does not activate on second clickBootstrap - 弹出框不会在第二次点击时激活
【发布时间】:2015-01-28 17:47:23
【问题描述】:

我正在使用 Bootstrap(带有 jQ​​uery)来显示一个弹出框。我的标记是:

<div class="tooltip-div" id="TooltipDiv"
     onclick="onclickShowTooltip();"
     rel="tooltip" data-toggle="tooltip" data-placement="bottom"
     data-html="true"
     data-title="This is the tool tip.">

  <span class="ImageSpan">
    <img class="tooltipIcon" src="svg/Icons-28.svg"
               alt="tool tip icon" />
  </span>
</div>

在我的 JavaScript 中,我有:

function onclickShowToolTip() {
  $('[data-toggle=popover]').on('shown.bs.popover', function () {
    $('.popover').css('bottom','100%')
  });
  $("#TooltipDiv").popover(
    {html: true,
     title: '',
     tigger: 'click',
     content: 'The meeting is secure.'});
  $("#TooltipDiv").popover('show');
}

工具提示在我第一次单击时显示。然后我在该区域外单击,工具提示消失(如预期的那样)。但是我再次点击图标,工具提示没有显示。

为什么?

我缺少什么设置/功能?

感谢您提供的任何想法/帮助。 萝莉

【问题讨论】:

  • 我猜你的函数被控制悬停工具提示的引导内置函数弄乱了。你能在 bootply 上重现这个吗?
  • 您可以通过取消注释下面提到的小提琴中的原始代码来重现该行为。

标签: twitter-bootstrap popover


【解决方案1】:

首先,你引用了onclickShowTooltip(),但是你的函数被命名为onclickShowToolTip。此外,选项“tigger”应该是trigger。弹出框只显示一次的原因是,在我看来,手动激活 popover("show") 最后在函数中。

我不确定你为什么要这样做。弹出框的好处是您可以通过 HTML 属性或 popover({}) 初始化来自动化整个过程。您可以完全跳过onclickShowToolTiponclick 事件,只需拥有

$("#TooltipDiv").popover({
    html: true,
    title: '',
    trigger: 'click',
    content: 'The meeting is secure.'
});

演示 -> http://jsfiddle.net/hdt0hy21/

【讨论】:

  • 你是对的 - 一位同事发现了“tigger”的拼写错误。函数名称是另一个拼写错误。我必须在发帖前更改名称以避免违反公司规则,并且没有正确重命名帖子中的内容。 “显示”的原因是因为 a) 我需要根据您在此处看不到的其他标志来设置文本 b) 我发现工具提示不显示的问题,除非我执行手动 popover("show ”)。我已经在其他事情上被引导了,所以我需要返回并再次检查第二次点击功能。感谢您的回答。
猜你喜欢
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 2013-02-27
  • 1970-01-01
  • 2021-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多