angular-popover | An elegant popover solution in Angular-js



Stars : 10

Forks : 10

Created by Fauzan Khan

Demo Download GitHub


An elegant, easily customizable generic popover in Angular that transcludes custom HTML


  • An angular directive for generic popovers.
  • Popovers can contain simple text to complex html templates.
  • Popovers can have callback functions for opening and closing.
  • Popovers can have custom directions.
  • The script also provides a factory to close all or specific directives manually.
  • Works well with/without Bootstrap/Foundation.


  • Angular.js


  • Copy ngPopover.js and ngPopover.css from the repository and use it the way you like.


  • Make sure you include the '''ngPopover''' module in you angular app:
angular.module('myApp', ['ngPopover']);
  • once you've added the module in your app. Use the code below to get the popover up and running:

<ng-popover trigger="popover-trigger" // ID of the (trigger) element that'll open/close the popover direction="left" // The direction in which the popover hould appear can be equal to top, bottom, left & right. bottom is the default value popover-class="custom-popover" // CSS Class of your popover. Ideally you should define the styles of your HTML under this class on-open="openCallback()" // Function to be called when the popover is shown on-close="closeCallback()"> // Function to be called when the popover is hidden <!--- Your custom HTML goes here ---> </ng-popover>
  • The trigger element for above popover would look like this:

<span id="popover-trigger" // Notice the same ID is provided in the trigger attribute of the popover class="ng-popover-trigger"> // Add this class to your trigger elements Open Popover </span>
  • Ideally all your popovers should be present at the bottom of the body

  • To manually close a popover use ngPopoverFactory

  • Inject ngPopoverFactory in you controller :
angular.module("myApp").controller("myController", function(ngPopoverFactory){

  • Once you've injected the factory you can manually close the dropdown by calling the closePopover function of the factory:
  • You can also close all the popovers at the same time by calling closeAll function of thr factory:


You can easily customize the look and feel of the popover by changing the following variables in the ngPopover.scss file as per your requirement:

$background-color: #FFF;  // Background color of the popovers
$border-color: #EAEAEA;  // Border color of the popovers


visit to see the popover in action


Javascript plugin