我遇到了无法打开的Bootstrap弹出窗口的问题。它不是页面中唯一的popover,其他工作正常,因此缺少库是没有问题的。
使用Firefox& IE 11。
解决后编辑:解决方案与下面的答案相同,因为data-content
为空。虽然当前版本(3)的文档没有以任何方式提及此行为,但Bootstrap 4 alpha Doc说:零长度title
和content
值永远不会显示弹出窗口。< / strong>这显然也适用于当前版本。
请在下面找到我的HTML&amp; Javascript代码。
简而言之,我正在做的事情:初始化Popover并在div中打开populate popover内容(divid作为数据属性传递)。
通过代码调试时,我可以看到popover被初始化了所有内容,但点击链接时没有任何反应。
不幸的是,没有出现错误。有人可以借我的眼睛吗?我太长时间盯着它,看不出错误......
HTML:
<a data-toggle="popover" data-infotype="scheduledlines" data-divid="${posItemStatus.index}" data-placement="bottom" data-title="" data-trigger="click">
<span class="fa fa-info-circle" aria-hidden="true"></span>
<span class="sr-only">Show info</span>
</a>
Javascript(初始化):
$(document).ajaxSuccess(function(){
var init = function(){
$('[data-toggle="popover"]').each(function(index) {
$(this).popover({
html: true
});
$(this).on('show.bs.popover', onLoadPopoverFunction);
$(this).on('remove', function(){
$(this).popover('hide');
});
});
}
window.setTimeout(init,100);
});
Javascript - 在popover打开时调用的函数:
var onLoadPopoverFunction = function(event){
var element = $(event.target);
var infoType = $(element).data('infotype');
[...]
if(infoType === "scheduledlines"){
var id = $(element).data('divid');
$(element).data('bs.popover').options.content = $('#ScheduledLines_'+id).html();
}
}
答案 0 :(得分:1)
修改:看起来问题在于锚点上的UIButton
属性。它是缺失的,也是必需的。这是一个有关调整的工作示例:https://jsfiddle.net/j87vb46L/3
<br>
可能会在您引用它时未定义吗?即尝试重新排序源并定义“更高”。
答案 1 :(得分:-1)
$(function () {
$('[data-toggle="popover"]').popover()
})
我试过这个,经过一些更改后使用这个脚本 这将激活你的popover