按钮单击在引导程序弹出窗口内无法正常工作

时间:2016-10-19 11:54:20

标签: javascript twitter-bootstrap onclick bootstrap-popover

这是我的popover元素:

<a data-placement="bottom" data-toggle="popover" data-trigger="focus" tabindex="1"></a>

我的bootstrap popover内容是一个社交媒体按钮。当你点击它时它会分享一些东西。但是,未正确触发click事件。当我单击显示弹出窗口时可用的共享按钮时,它会在3次点击中失败一到两次。

var options =  {};
options.content = function() {
      return "<ul class='social social-list'>" +
               "<li><a id='fa-facebook' class='social-fb'><i class='fa fa-facebook fa-lg'></i></a></li>" +
             "</ul>"; 
      };

options.trigger = 'focus';     
options.html = true;

$('[data-toggle="popover"]').popover(options).on('shown.bs.popover', function(){

   var fbShareEvent = $("#fa-facebook").data("events");
   if(!fbShareEvent){
     $("#fa-facebook").on("click",function(event){
         fbShare();
     });
   }
}

1 个答案:

答案 0 :(得分:0)

花了半天后,我找到了解决方案。由于焦点事​​件触发了弹出窗口隐藏操作,因此在触发单击操作之前有时会关闭弹出窗口。我在我的popover选项中添加了delay参数。

options.delay = {'hide': 500};

此参数会在给定时间内延迟关闭操作。因此,可以在关闭弹出窗口之前处理单击操作。