javascript - Bootstrap popover destroy & recreate works only every second time -


i want programmatically destroy & recreate specific bootstrap popover. is:

$('#popoverspan').popover('destroy'); $('#popoverspan').popover({placement : 'bottom', trigger : 'hover', content : 'here is!'}); 

and works every second time only. thought it's matter of time takes destroy popover, adding delay between 2 lines doesn't help. recreated problem in jsfiddle: http://jsfiddle.net/lfp9ssd0/10/

why that? has been suggested works, e.g. in twitter bootstrap popover dynamically generated content via ajax , bootstrap popover reinitialization (to refresh content)

it works fine when skip destroying, not sure happens when create popover element without destroying existing one. reinitialised or create new popover losing access old one?

solved myself. apparently .popover('destroy') asynchronous, , immediate creation of popover fails, while previous 1 being destroyed. tried adding delay using alert, failed reason. using settimeout() before creating new popover not elegant, working solution:

$('#popoverspan').popover('destroy'); settimeout(function () {     $('#popoverspan').popover({         placement : 'bottom',          trigger : 'hover',          content : 'here new popover!'     }); }, 200); 

200 ms seems enough, may need finetuning in other cases.


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -