Bootstrap JS Popover

JS Popover (popover.js)

The Popover plugin is similar to tooltips; it is a pop-up box that appears when the user clicks on an element. The difference is that the popover can contain much more content.

Plugin dependency: Popovers require the tooltip plugin (tooltip.js) to be included in your version of Bootstrap.

For a tutorial about Popovers, read our Bootstrap Popover Tutorial.

Via data-* Attributes

The data-toggle="popover" activates the popover.

The title attribute specifies the header text of the popover.

The data-content attribute specifies the text that should be displayed inside the popover’s body.


<a href=”#” data-toggle=”popover” title=”Popover Header” data-content=”Some content inside the popover”>Toggle popover</a>


Via JavaScript

Popovers are not CSS-only plugins, and must therefore be initialized with jQuery: select the specified element and call thepopover() method.


// Select all elements with data-toggle=”popover” in the document
$(‘[data-toggle=”popover”]’).popover();// Select a specified element


Popover Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-placement=””.

Name Type Default Description
animation boolean true Specifies whether to add a CSS fade transition effect when opening and closing the popover

  • true – Add a fading effect
  • false – Do not add a fading effect
container string, or the boolean false false Appends the popover to a specific element.
Example: container: ‘body’
content string “” Specifies the text inside the popover’s body
delay number, or object 0 Specifies the number of milliseconds it will take to open and close the popover.

To specify a delay for opening and another one for closing, use the object structure:

delay: {show: 500, hide: 100} – which will take 500 ms to open the popover, but only 100 ms to close it

html boolean false Specifies whether to accept HTML tags in the popover:

  • true – Accept HTML tags
  • false – Do not accept HTML tags

Note: The HTML must be inserted in the title attribute (or using the title option).

When set to false (default), jQuery’s text() method will be used. Use this if you are worried about XSS attacks

placement string “right” Specifies the popover position. Possible values:

  • “top” – Popover on top
  • “bottom” – Popover on bottom
  • “left” – Popover on left
  • “right” – Popover on right
  • “auto” – Lets the browser decide the position of the popover. For example, if the value is “auto left”, the popover will display on the left side when possible, otherwise on the right. If the value is “auto bottom”, the popover will display at the bottom when possible, otherwise on the top
selector string, or the boolean false false Adds the popover to a specified selector
template string Base HTML to use when creating the popover.

The popover’s title will be injected into the .popover-title.

The popover’s content will be injected into the .popover-content.

.arrow will become the popover’s arrow.

The outermost wrapper element should have the .popover class.

title string “” Specifies the header text of the popover
trigger string “click” Specifies how the popover is triggered. Possible values:

  • “click” – Trigger the popover with a click
  • “hover” – Trigger the popover on hover
  • “focus” – Trigger the popover when it gets focus (by tabbing or clicking .e.g)
  • “manual” – Trigger the popover manually

Tip: To pass multiple values, separate them with a space

viewport string, or object {selector: “body”, padding: 0} Keeps the popover within the bounds of this element.

Example: viewport: ‘#viewport’ or {selector: ‘#viewport’, padding: 0}

Popover Methods

The following table lists all available popover methods.

Method Description
.popover(options) Activates the popover with an option. See options above for valid values
.popover(“show”) Shows the popover
.popover(“hide”) Hides the popover
.popover(“toggle”) Toggles the popover
.popover(“destroy”) Hides and destroys the popover

Popover Events

The following table lists all available popover events.

Event Description Occurs when the popover is about to be shown Occurs when the popover is fully shown (after CSS transitions have completed) Occurs when the popover is about to be hidden Occurs when the popover is fully hidden (after CSS transitions have completed)



Custom Popover Design

Use CSS to customize the look of the popover:


 /* Popover */
.popover {
border: 2px dotted red;
}/* Popover Header */
.popover-title {
background-color: #73AD21;
color: #FFFFFF;
font-size: 28px;

/* Popover Body */
.popover-content {
background-color: coral;
color: #FFFFFF;
padding: 25px;

/* Popover Arrow */
.arrow {
border-right-color: red !important;

Leave a Reply

Your email address will not be published. Required fields are marked *