我遇到了無法打開的Bootstrap彈出窗口的問題。它不是頁面中唯一的彈出窗口,其他工作正常,所以缺少庫是沒有問題的。爲什麼我的引導程序彈窗無法打開?
使用Firefox & IE 11
編輯解決後:溶液如下面的答案,因爲data-content
是空的。儘管當前版本(3)的文檔沒有提及此行爲,但Bootstrap 4 alpha Doc說:零長度title
和content
值永遠不會顯示彈出窗口。這顯然也適用於當前版本。
請在下面找到我的HTML & Javascript代碼。
總之我在做什麼:初始化彈出窗口和打開與div中的內容(divid作爲數據屬性傳遞popover 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 - 被調用函數在酥料餅開:
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();
}
}
不,那不是問題所在。但無論如何感謝。當popover打開時,onLoadPopoverFunction被調用,但我甚至沒有打開它的位置。點擊應該打開popover的鏈接什麼也不做,並且控制檯中沒有顯示錯誤 – Jbartmann
Aha - 看起來像錨上的data-content屬性缺失,並且是必需的。這裏有一個例子顯示它的行動:https://jsfiddle.net/j87vb46L/3/ – gwcodes
非常感謝你的努力,它的工作原理!如果你想編輯你的答案,我會接受它。 – Jbartmann