jsFiddle: http://jsfiddle.net/kAYyR/Jak mogę zamknąć/zamknąć Bootstrap Popover po kliknięciu elementu wyzwalającego popover?
Zrzut ekranu:
Oto, co działa:
- Otwarte popover przycisk kliknij
- Zamknij popover na kliknięcie poza popover
- Zamknij okienko po kliknięciu przycisku
.close
ALE ... Nie mogę wyłączyć zamknięcia okna po ponownym kliknięciu oryginalnego przycisku. Zamiast tego popover miga i włącza się ponownie.
Powiel to sam here.
Jak mogę to zrobić?
HTML:
<button id="popoverId" class="popoverThis btn btn-large btn-danger">Click to toggle popover</button>
<div id="popoverContent" class="hide">This <em>rich</em> <pre>html</pre> content goes inside popover</div>
JS:
$('#popoverId').popover({
html: true,
title: "Popover Title",
content: function() {
return $('#popoverContent').html();
}
});
var isVisible = false;
var clickedAway = false;
$('.popoverThis').popover({
html: true,
trigger: 'manual'
}).click(function (e) {
$(this).popover('show');
$('.popover-content').append('<a class="close" style="position: absolute; top: 0; right: 6px;">×</a>');
clickedAway = false
isVisible = true
e.preventDefault()
});
$(document).click(function (e) {
if (isVisible & clickedAway) {
$('.popoverThis').popover('hide')
isVisible = clickedAway = false
} else {
clickedAway = true
}
});
No. nie mogę mieć popover zwolnieniu Każde kliknięcie w dowolnym miejscu. Popover powinien po prostu odrzucić (1) .close, (2) poza .popover, (3) na oryginalnym przycisku. Powinieneś być w stanie dowolnie kliknąć popover, ile chcesz, bez jego odrzucania. – Ryan
Co oznacza zewnętrzny popover i oryginalny przycisk? –
Tak samo: http://jsfiddle.net/kAYyR/ Z wyjątkiem ponownego kliknięcia czerwonego przycisku, to odrzuca popover. – Ryan