Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter Bootstrap Popup ignores delay

Following this question here on stackoverflow, I created a twitter bootstrap popover that loads on hover. However, the delay is not used, the popover just shows immediately. Here's my code:

$('body').delegate('.withajaxpopover', 'hover', function(event) {
   if (event.type === 'mouseenter') {
      var el=$(this);
      $.get(el.attr('data-load'), function(d) {
      el.popover({delay: { 
                     show: 750, 
                     hide: 100
                  },
                  title: "MyTitle", 
                  content: d}).popover('show', 
                                       {delay: { show: 750, hide: 100 }});
                    });
   } else {
                    $(this).popover('hide');
   }
});
$('body').delegate('.withajaxpopover', 'click', function(event) {
   $(this).popover('hide');
});

The delay is just ignored. What can I do?

Thanks for your help or hints!

like image 485
HombreFab Avatar asked Aug 07 '12 09:08

HombreFab


1 Answers

Had a similar issue, solved it by focusing the obj. Would look something like this...

$('#yourobj').popover({
    trigger: 'focus',
    delay: 1000
 }).focus();

even better with a timeout, if you want a manual trigger..

setTimeout(function() {
  $('#yourobj').popover('show');
}, 500);

Hope is helps someone else...

like image 146
CaptainAl Avatar answered Oct 15 '22 22:10

CaptainAl