🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

Context menu plugin for Twitter’s Bootstrap framework.

Bootstrap Menus Plugins

Documentation

Bootstrap Context Menu

#This project is unmaintained. Please use the alternative https://github.com/swisnl/jQuery-contextMenu.

I have an issue with the plugin but I would still like to use it.

-- Please fork the project and do your fixes.

Where can I get support if can't fix some issue?

-- You can check the issues page or pull request page if someone has a fix for your problem and merge it with your fork.

I still can't find fixes of my issues.

-- Get plenty of sleep. :)

A context menu extension of Bootstrap made for everyone's convenience.

See a [demo page] [id]. [id]:http://sydcanem.github.io/bootstrap-contextmenu/

Installation

bower install bootstrap-contextmenu

Note: Requires bootstrap.css

Usage

Via data attributes

Add data-toggle="context" to any element that needs a custom context menu and via CSS set position: relative to the element.

Point data-target attribute to your custom context menu.

<div class="context" data-toggle="context" data-target="#context-menu"></div>

Via Javascript

Call the context menu via JavaScript:

$('.context').contextmenu({   target:'#context-menu',    before: function(e,context) {     // execute code before context menu if shown   },   onItem: function(context,e) {     // execute on menu item selection   } })

Options

target - is the equivalent of the data-target attribute. It identifies the html of the menu that will be displayed.

before - is a function that is called before the context menu is displayed. If this function returns false, the context menu will not be displayed. It is passed two parameters,

  • e - the original event. (You can do an e.preventDefault() to cancel the browser event).
  • context - the DOM element where right click occured.

onItem - is a function that is called when a menu item is clicked. Useful when you want to execute a specific function when an item is clicked. It is passed two parameters,

  • context - the DOM element where right click occured.
  • e - the click event of the menu item, $(e.target) is the item element.

scopes - DOM selector for dynamically added context elements. See issue.

Events

All events are fired at the context's menu. Check out dropdown plugin for a complete description of events.

  • show.bs.context - This event fires immediately when the menu is opened.
  • shown.bs.context - This event is fired when the dropdown has been made visible to the user.
  • hide.bs.context - This event is fired immediately when the hide instance method has been called.
  • hidden.bs.context - This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete).

Sample

$('#myMenu').on('show.bs.context',function () {   // do something... });

Example

Activate and specify selector for context menu

$('#main').contextmenu({'target':'#context-menu'});

Activate within a div, but not on spans

$('#main').contextmenu({   target: '#context-menu2',   before: function (e, element, target) {       e.preventDefault();       if (e.target.tagName == 'SPAN') {           e.preventDefault();           this.closemenu();           return false;       }       return true;   } });

Modify the menu dynamically

$('#main').contextmenu({   target: "#myMenu",   before: function(e) {      this.getMenu().find("li").eq(2).find('a').html("This was dynamically changed");   } });

Show menu name on selection

$('#main').contextmenu({   onItem: function(context, e) {     alert($(e.target).text());   } });

Nice to have features:

  • Close and open animations
  • Keyboard shortcuts for menus

License

MIT


You May Also Like