2016-10-17 3 views
0

thisと同様に、私のポップオーバーは2番目、4番目、6番目のクリックでは表示されませんが、フェードアウトしています。私のコード:ブートストラップポップオーバーが2回目のクリックで機能しない

$('[data-toggle="popover"]').popover({ 
    placement: 'bottom', 
    delay: { 
     show: 50 
    } 
}); 

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

    setTimeout(function() { 
     $('.popover').fadeOut('slow'); 
    }, 1000); 
}); 

回答は、Bootstrap 3.3.5バグです。アクションのバグを確認するには

if ($.fn.popover.Constructor.VERSION == "3.3.7") { 
    $('[data-toggle="popover"]').on("hidden.bs.popover", function() { 
      $(this).data("bs.popover").inState.click = false 
    }) 
}  

::私はブートストラップ3.3.7で働いている、が、提案された解決策は、トリックを行いませんJSFiddle

答えて

2

はバグは3.3ではまだ固定されていないようです.7しかし、提案されたソリューションは実際に動作します。フェードアウトするのではなく、.popover('hide')でポップオーバーを隠す必要があります。

$('.popover').fadeOut('slow').popover('hide'); 

との組み合わせで、これを使用します:

if ($.fn.popover.Constructor.VERSION == "3.3.7") { 
    $('[data-toggle="popover"]').on("hidden.bs.popover", function() { 
     $(this).data("bs.popover").inState.click = false 
    }) 
} 
以下は、トリックを行います
関連する問題