Twitter bootstrap popover在打开一个新的之前关闭所有

use*_*559 3 javascript css jquery twitter-bootstrap

我不是JavaScript向导,所以我很遗憾这里显而易见的东西.我有一个具有多个链接的unorder-list&当用户悬停在<li>那时他们可以看到链接点击它以便查看 Twitter Bootstrap's pop-over behavior.

我的问题是

  • pop-over如果我打开一个新的,它不会关闭.
  • 如果再次将鼠标悬停在相同的"Tweet"图像上,它也会再次显示推文链接.

这是小提琴http://jsfiddle.net/ZnJ6b/17/,请看看并尝试帮助我.

js代码看起来像

 $("[data-toggle='popover']").popover({
    placement: 'right',
    html: 'true',
    title : '<span class="text-info"><strong>title</strong></span>',
    content : '<input id="subproject_id" type="text"/>'
});

$('.add_btn').click(function(e) {  
          $('.popover-title').append('<button id="popovercloseid" type="button" class="close">&times;</button>');
         $("#subproject_id").focus();//textbox focus
          $(this).css("display","inline");
          $(this).removeClass( "add_btn" ).addClass( "new_add_btn" );
      }); 
  $(document).click(function(e) {    
     if(e.target.id=="popovercloseid" ) { 
          $('.new_add_btn').popover('hide'); 
          $('.new_add_btn').css("display","none");
          $('.new_add_btn').removeClass( "new_add_btn" ).addClass( "add_btn" );

     }

  }); 
Run Code Online (Sandbox Code Playgroud)

http://blog.alysson.net/lang/pt-br/twitter-bootstrap-popover-close-all-before-opening-a-new-one/ 是链接似乎教程,但我无法实现它上面的代码.有什么帮助吗?

AyB*_*AyB 7

您的代码有一些不必要的行,可以改变弹出窗口的行为.

我评论了一些行并添加了这个声明:

$('.add_btn').not(this).popover('hide');
Run Code Online (Sandbox Code Playgroud)

这样一次只能显示一个弹出窗口.

演示

这个代码用一个按钮关闭你的popover:

$('html').on('click', '#popovercloseid', function (e) {
        $('.add_btn').not(this).popover('hide'); 
 }); 
Run Code Online (Sandbox Code Playgroud)

演示2