Ich musste etwas finden, das für mehrere Popover und in Bootstrap 3 funktioniert.
Folgendes habe ich getan:
Ich hatte mehrere Elemente, für die ich ein Popover haben wollte, also wollte ich keine IDs verwenden.
Das Markup könnte sein:
<button class="btn btn-link foo" type="button">Show Popover 1</button>
<button class="btn btn-link foo" type="button">Show Popover 2</button>
<button class="btn btn-link foo" type="button">Show Popover 3</button>
Der Inhalt für die Schaltflächen zum Speichern und Schließen im Popover:
var contentHtml = [
und das Javascript für alle 3 Schaltflächen:
Diese Methode funktioniert, wenn der Container standardmäßig nicht an body angehängt ist.
$('.foo').popover({
title: 'Bar',
html: true,
content: contentHtml,
trigger: 'manual'
}).on('shown.bs.popover', function () {
var $popup = $(this);
$(this).next('.popover').find('button.cancel').click(function (e) {
$popup.popover('hide');
});
$(this).next('.popover').find('button.save').click(function (e) {
$popup.popover('hide');
});
});
Wenn der Behälter an "Körper" befestigt ist
Verwenden Sie dann die von beschriebene Arie, um das Popup zu finden und es auszublenden.
$('.foo').popover({
title: 'Bar',
html: true,
content: contentHtml,
container: 'body',
trigger: 'manual'
}).on('shown.bs.popover', function (eventShown) {
var $popup = $('#' + $(eventShown.target).attr('aria-describedby'));
$popup.find('button.cancel').click(function (e) {
$popup.popover('hide');
});
$popup.find('button.save').click(function (e) {
$popup.popover('hide');
});
});