Bootstrap popover не работает
Загрузочный popover не показывает мою страницу
Вот мой HTML:
<button type="button" class="btn btn-lg btn-danger"
data-toggle="popover" title="Popover title"
data-content="And here some amazing content. It very engaging. Right?">
Click to toggle popover
</button>
Вот все файлы js и css, которые я добавил:
@Styles.Render("~/Content/css")
@Styles.Render("~/Content/bootstrap.min.css")
@Styles.Render("~/Content/bootstrap.css")
@Styles.Render("~/Content/bootstrap-theme.css")
@Styles.Render("~/Content/css/default.css")
@Scripts.Render("~/Scripts/jquery-2.1.1.js")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.js")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/Scripts/bootstrap.js")
Может кто-нибудь сказать мне, где проблема?
PS: Есть ли способ заставить popover работать без необходимости писать какой-либо код script?
Ответы
Ответ 1
Из Документы в Popovers:
Функциональность выбора:
По соображениям производительности всплывающие подсказки и Popover data-apis выбирают, что означает, что вы должны инициализировать их самостоятельно.
Итак, вы должны называть .popover()
вручную в JavaScript следующим образом:
$("[data-toggle=popover]").popover();
Или вы можете использовать любой желаемый селектор
Вот пример использования StackSnippets.
$("[data-toggle=popover]").popover();
body {
padding: 50px;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<button type="button" class="btn btn-lg btn-danger"
data-toggle="popover" title="Popover title"
data-content="And here some amazing content. It very engaging. Right?">
Click to toggle popover
</button>
Ответ 2
Несмотря на то, что принятый ответ в порядке, при работе с popovers, пожалуйста, будьте осторожны с ситуациями с двойной инициализацией (Fiddle), Ниже приведен JavaScript-код.
<br/>
<br/>
<a href="#" id="firstButton" class="btn btn-primary" rel="popover" data-message="Message">Click Me (Working)</a>
<br/>
<br/>
<a href="#" id="secondButton" class="btn btn-primary" rel="popover" data-message="Message">Click Me (Failing)</a>
Если вы дважды инициализируетесь, и ваш popover использует значения, которые могут измениться или пользовательский контент, и т.д., вы окажетесь в мире боли:
$(function () {
$('#firstButton').popover({
container: "body",
html: true,
content: function () {
return '<div class="popover-message">' + $(this).data("message") + '</div>';
}
});
$('#secondButton').popover(); // <-- The first initializer does this, which causes the next one to fail on the next line.
$('#secondButton').popover({
container: "body",
html: true,
content: function () {
return '<div class="popover-message">' + $(this).data("message") + '</div>';
}
});
});