【问题标题】:Multiple bootstrap popovers are created instead of dismissing old one创建多个引导弹出窗口,而不是关闭旧的
【发布时间】:2015-07-08 06:50:14
【问题描述】:

我正在创建事件日历,我需要内联 jquery UI 日期选择器上的引导弹出框。

目前我有这个(由于某种原因,在 jsfiddle 中根本没有创建 popover:

https://jsfiddle.net/vxnhmeop/4/

但问题是,当我单击事件的那一天时,会创建新的弹出框实例。如果我第二次单击新的弹出框,则会在顶部创建并且旧的弹出框也会保留。如何关闭旧的弹出框?

我已经尝试过替换这行代码

$("td[title='" + title + "']").popover(options).popover('toggle');

$("td[title='" + title + "']").popover(options).popover('show');
$("td[title='" + title + "']").popover(options).popover('hide');

看看至少它是否像那样隐藏但它失败了。

【问题讨论】:

  • 注意fiddle坏了:不显示弹窗;一个原因是event 为空。即使它被绕过,也不会显示弹出框。
  • 是的,我知道我在我的问题中提到了它,但我不知道为什么它不能像我在代码中使用的那样在那里工作

标签: jquery twitter-bootstrap jquery-ui popover


【解决方案1】:

您需要在显示新的弹出框之前删除显示的弹出框。

添加这个:

$('.popover').each(function (){
    $(this).remove();
});

之前

$("td[title='" + title + "']").popover(options).popover('show');

它应该可以正常工作。

【讨论】:

  • 感谢它的工作!但是popover('toggle') 仍然不应该自动隐藏旧的弹出框吗?我的意思是,如果我多次单击同一个日期,我还是会得到多个弹出窗口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多