popover inside collapse手风琴风格

时间:2013-10-02 11:37:39

标签: twitter-bootstrap accordion popover

我正在使用Twitter Bootstap主题,我写了这个[code],它实现了手风琴式的折叠。在标题中,我放置了一个浮在右边的星。现在我想在用户点击星形但没有隐藏或显示手风琴的内容时弹出一个窗口!

正如我编码的那样,如果手风琴内容是打开的并且我点击星号,则会有一个弹出窗口,但是手风琴内容被隐藏(并反向)。我如何禁用它?

1 个答案:

答案 0 :(得分:1)

这是我提出的解决方案。

$('#foo').popover({
   placement : 'right',
   content : 'some text'
});

$('#foo').click(function(){
   var myLink = $(this).parent().attr('href');
  var el = $(this).parent();
 el.attr('href','');
 setTimeout(function(){el.attr('href',myLink);},100)
});

我在这里做的是点击星星时我在禁用Accordion链接100毫秒之后才重新启用它。理想情况下,您需要禁用手风琴,然后在显示或关闭弹出框时启用它。但我找不到检查这些事件的方法。

然而,我使用这段代码已经有一段时间了,它看起来效果很好。我找不到任何问题。祝你好运。

<强>更新

好的,这样可以在点击弹出窗口时阻止手风琴移动。我正在侦听弹出窗口上的单击,如果单击弹出窗口,那么我正在执行与禁用手风琴100毫秒之前相同的操作。欢呼声。

$('#foo').popover({
   placement : 'right',
   content : 'some text'
});

$('#foo').click(function(){
   var myLink = $(this).parent().attr('href');
   var el = $(this).parent();
   el.attr('href','');
   setTimeout(function(){el.attr('href',myLink);},100);
});

$(document).ready(function(){
   $('#accordion2').on('click', '.popover', function() {
       var myLink = $(this).parent().attr('href');
       var el = $(this).parent();
       el.attr('href','');
       setTimeout(function(){el.attr('href',myLink);},100);
  });
});