Javascript 在Bootstrap Popover中调用了两次内容函数

Javascript 在Bootstrap Popover中调用了两次内容函数,javascript,jquery,twitter-bootstrap,bootstrap-popover,Javascript,Jquery,Twitter Bootstrap,Bootstrap Popover,我有一个Bootstrap Popover,它加载一个函数,如下所示: var index = 0; $('#Button').popover({ html:true, placement:'right', content:function(){ index = index +1; return index; } }); HTML只是: <input id="Button" value='popover' type='button

我有一个Bootstrap Popover,它加载一个函数,如下所示:

var index = 0;

$('#Button').popover({
    html:true,
    placement:'right',
    content:function(){
      index = index +1;
      return index;
    }
});
HTML只是:

<input id="Button" value='popover' type='button'/>

所以,当我点击按钮时,我应该得到1,2,3,等等

然而,我得到了2,4,6。。。因为它两次调用“content”函数。为什么呢?这是一个错误还是我做错了什么


.

此问题不在您的代码中,而是来自引导本身。 请参阅此链接:


所以,你可以把它固定在你这边。设置一些标志以检查是否显示popover。

面对这个问题并使用标志解决它。正如前面提到的,这是引导代码中的错误。仅供参考,第一个电话是检查是否打第二个电话。第二个调用是在实际渲染发生时调用

因此,逻辑应该是跳过第一个调用并允许第二个调用。(而不是导致不呈现内容的其他方式)。出于某种原因,第一次调用不应返回null。那么第二个电话就不打了。有了这些,您可以查看下面的代码以获得更多参考

函数POPOWHandler(元素){
contentCalled=false;//用于检查的标志
元素。popover({
动画:没错,
容器:“主体”,
位置:“底部”,
触发器:“悬停”,
“html”:正确,
“内容”:函数(){
var div_id=“tmp id-”+$.now();
返回fetchResults(div_id);
}
});
函数fetchResults(div\u id){
如果(!contentCalled){
contentCalled=true;
返回“”;
}
否则{
$.ajax({
url:“获取结果”,
类型:“POST”,
数据:,
contentType:'application/json;charset=UTF-8',
数据类型:“json”,
成功:功能(响应){
contentCalled=false;
//表单htmlOutput
$('#'+div_id).html(htmlOutput);
}
});
返回“”;
}
}

}
我在这里使用的不是最新版本(3.3.6)?可能不是修复版。。我说‘我想’:)用flag试试这个解决方案……这是一个bug,当您将
标题保持为空时就会出现。添加
标题
,您的内容函数将只被调用一次。