The accepted answer works just fine, but here's a more bootstrap approach:
Original answer
$('.pop').on('shown.bs.popover', function () {
var $pop = $(this);
setTimeout(function () {
$pop.popover('hide');
}, 2000);
});
Update from limplash
This answer misses one key information!! you have to add the trigger option while initializing popover .. {trigger:"manual"} .. otherwise the bootstraps attaches an onclick event to which causes the issue of two click required after first use .. following should is a proposed solution
$("#element").popover({ trigger:"manual" }).click(function() {
var pop = $(this);
pop.popover("show")
pop.on('shown.bs.popover',function() {
setTimeout(function() {
pop.popover("hide")}, 2200);
})
})