Popoverleri içeren bir web sayfasına dinamik olarak yüklenen bazı içeriklerim var. Bu nedenle onları vücuda bağlamaları ve doğru şekilde yerleştirilmeleri gerekiyor.Kullanıcı Açılır Pencereyi Dışa Aktardı Bootstrap Popover'ı Kapatma
Kullanıcı, popover'ı veya başka bir popover tetikleyicisinin dışını tıkladığında pop'leri gizlemenin bir yolunu bulmak istiyorum.
Popover'i "gizler" olsaydım, popover gerçekten gizlenir, ancak öğeler DOM'ta kalır. Bu, popover'daki aktif bağlantıların "tıklanabilir" kalması anlamına gelir.
Bunun yerine popover'ı yok edersem gizler, ancak tıklandığında yeniden etkinleştiremez. Popover'ı gizlemenin tek güvenilir yolu "toggle" kullanmaktır. Bu, hangi popovların saklanacağını belirleme karmaşıklığını arttırır. Tüm bu kod ile this JSFiddle'a bakın.
HTML
<a href="#" data-toggle="popover" data-original-title="" data-content="<a href='http://www.yahoo.com'>http://www.yahoo.com</a>" class="some-popover-link">Yahoo</a>
<br><br> <br> <br> <br> <a href="#" data-toggle="popover" data-original-title="" data-content="<a href='http://www.google.com'>http://www.google.com</a>" class="some-popover-link">Google</a>
<br><br> <br> <br> <br> <a href="#" data-toggle="popover" data-original-title="" data-content="<a href='http://www.microsoft.com'>http://www.microsoft.com</a>" class="some-popover-link">Microsoft</a>
JavaScript
$('.some-popover-link').popover({
container: 'body',
html: true,
placement: 'bottom'
});
$(document).click(function (e) {
$('.some-popover-link').each(function() {
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('hide'); // this hides popover, but content remains
return;
}
});
});
JSFiddle Link sizin keman doğru iş gibi gözüküyor .. Ya da keman sorunu gösteren gelmez ve ben sadece onu göremiyorum? – Trevor
Keman, poporatörlerin beklendiği gibi saklandığını, ancak div.popover'ın DIV'den kaldırılmadığını gösterir. Pop-up içindeki bağlantının nerede olduğunu fark ederseniz, yine de bir web sitesine tıklar. Diğer tarayıcılarda da deneyeceğim. – arcdegree
Ahh Neler olduğunu görüyorum. @kraxor'un bir çözümü var gibi görünüyor. Bunu denediniz mi? – Trevor