$('.pop').popover().click(function () {
setTimeout(function () {
$('.pop').popover('hide');
}, 2000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<span class="pop" data-original-title="My popover" data-content="Isn't it great?">Click me</span>
$('.pop').on('shown.bs.popover', function () {
var $pop = $(this);
setTimeout(function () {
$pop.popover('hide');
}, 2000);
});
来自limplash的更新
这个答案缺少一个关键信息!!在初始化弹出框时,您必须添加触发选项 .. {trigger:"manual"} .. 否则Bootstrap会附加一个onclick事件,导致第一次使用后需要两次单击才能正常使用 .. 以下是一种提议的解决方案
$("#element").popover({ trigger:"manual" }).click(function() {
var pop = $(this);
pop.popover("show")
pop.on('shown.bs.popover',function() {
setTimeout(function() {
pop.popover("hide")}, 2200);
})
})
$("#element").popover({trigger:"manual"}).click(function(){ var pop = $(this); pop.popover("show") pop.on('shown.bs.popover',function(){ setTimeout(function(){pop.popover("hide")},2200); }) }) - limplash:
$('[data-toggle="popover"][data-timeout]').on('shown.bs.popover', function() {
this_popover = $(this);
setTimeout(function () {
this_popover.popover('hide');
}, $(this).data("timeout"));
});
现在,您可以使用:
<span
data-toggle="popover"
data-timeout="2000"
title="A title"
data-content="Some explanatory text">
Your text
</span>
并且,弹出窗口会在显示了指定的毫秒数后自动消失,具体时间由data-timeout参数指定。
$(“#element”).popover({trigger:“manual”})。click(function(){ var pop = $(this); pop.popover(“show”) pop.on('shown.bs.popover',function(){ setTimeout(function(){pop.popover(“hide”)},2200); }) })- limplash