jQuery Plugin To Create Bootstrap Styled Context Menus
| File Size: | 372 KB |
|---|---|
| Views Total: | 3696 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A jQuery context menu plugin for Bootstrap that enables you to attach a custom context menu to any DOM element, with support for custom actions and various trigger events.
Basic usage:
1. Include the Bootstrap Context Menu plugin's script into your Bootstrap page.
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> <script src="dist/BootstrapMenu.min.js"></script>
2. Include the Font Awesome 4 for menu icons.
<link rel="stylesheet" href="/path/to/font-awesome.min.css">
3. Create a basic context menu with custom menu items as follow.
var menu = new BootstrapMenu('#container', {
actions: [{
name: 'Action 1',
onClick: function() {
// do something
}
}, {
name: 'Action 2',
onClick: function() {
// do something
}
}, {
name: 'Action 3',
onClick: function() {
// do something
}
}]
});
4. Configuration options.
/* container of the context menu, where it will be created and where event listeners will be installed. */
container: 'body',
/* user-defined function to obtain specific data about the currently opened element, to pass it to the rest of user-defined functions of an action. */
fetchElementData: _.noop,
/* what the source of the context menu should be when opened.
* Valid values are 'mouse' and 'element'. */
menuSource: 'mouse',
/* how to calculate the position of the context menu based on its source.
* Valid values are 'aboveLeft', 'aboveRight', 'belowLeft', and 'belowRight'. */
menuPosition: 'belowLeft',
/* the event to listen to open the menu.
* Valid values are 'click', 'right-click', 'hover' */
menuEvent: 'right-click', // TODO rename to menuAction in next mayor version
/* group actions to render them next to each other, with a separator between each group. */
actionsGroups: [],
/* array or object containing the list of actions to be rendered in the context menu.
* Actions attributes:
* name string|function The name of the action.
* onClick function Handler to run when an action is clicked.
* iconClass string Optional, Font Awesome class of the icon to show for the action.
* classNames string|object|function Optional, classes to add to the action.
* isShown function Optional, decides if the action should be shown or hidden in the context menu.
* isEnabled function Optional, decides if the action should appear enabled or disabled in the context menu.*/
actions: [],
/* Obtain specific data about the currently opened element, to pass it to the rest of user-defined functions of an action. */
fetchElementData: function(){},
/* In some weird cases, another plugin may be installing 'click' listeners
* in the anchors used for each action of the context menu, and stopping
* the event bubbling before it reachs this plugin's listener.
*
* For those cases, _actionSelectEvent can be used to change the event we
* listen to, for example to 'mousedown'.
*
* Unless the context menu is not working due to this and a workaround is
* needed, this option can be safely ignored.
*/
_actionSelectEvent: 'click'
Change log:
2016-10-13
- show message 'No actions' when menu appears empty
2016-08-04
- v1.0.13
2016-05-12
- check if the menu was clicked outside a valid element
2015-12-18
- JS update.
This awesome jQuery plugin is developed by dgoguerra. For more Advanced Usages, please check the demo page or visit the official website.











