2017-03-07 57 views
0

我遇到了無法打開的Bootstrap彈出窗口的問題。它不是頁面中唯一的彈出窗口,其他工作正常,所以缺少庫是沒有問題的。爲什麼我的引導程序彈窗無法打開?

使用Firefox & IE 11

編輯解決後:溶液如下面的答案,因爲data-content是空的。儘管當前版本(3)的文檔沒有提及此行爲,但Bootstrap 4 alpha Doc說:零長度titlecontent值永遠不會顯示彈出窗口。這顯然也適用於當前版本。

請在下面找到我的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(); 
      } 
     } 

回答

1

編輯:貌似問題是在錨data-content屬性。它缺少,並且是必需的。下面是與TWEAK工作的例子:https://jsfiddle.net/j87vb46L/3


onLoadPopoverFunction在您引用它的點是不確定的?即嘗試對來源進行重新排序並將其定義爲「更高」。

+0

不,那不是問題所在。但無論如何感謝。當popover打開時,onLoadPopoverFunction被調用,但我甚至沒有打開它的位置。點擊應該打開popover的鏈接什麼也不做,並且控制檯中沒有顯示錯誤 – Jbartmann

+0

Aha - 看起來像錨上的data-content屬性缺失,並且是必需的。這裏有一個例子顯示它的行動:https://jsfiddle.net/j87vb46L/3/ – gwcodes

+0

非常感謝你的努力,它的工作原理!如果你想編輯你的答案,我會接受它。 – Jbartmann

-1
$(function() { 
$('[data-toggle="popover"]').popover() 
}) 

我已經試過了,經過一些修改使用該腳本 這將激活你的酥料餅

相關問題