The HTML5/JavaScript Context Menu or right-click menu is a graphical user interface control that appears when the user right-clicks or performs a touch and hold action. You can define the list of items the context menu will contain, create multilevel menus, and attach event handlers to the menu items for seamless integration with other controls.
Multi-level nested items are supported in context menu. You can browse the sub menu by mouse hover/click in menu items. The appearance of context menu varies for desktop and mobile. In Mobile, users can view Multilevel nested items in single layer with provision to backtrack parent item.
You can include icons or sprite images in menu items easily to add the visual representation of the action in context menu.
Templates is used to create custom user experience. You can create custom Context Menu in JavaScript by using template for each element of Context menu.
Javascript Context menu can be used with any control. Adding a context menu to other controls require simple configurations.
The Context Menu component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different Context Menu platforms from the links below,
Javascript Context Menu supports built-in themes such as Bootstrap 5, Tailwind CSS, Fluent, high contrast, and more. Users can customize these built-in themes or create new themes to achieve the desired look and feel either by simply overriding SASS variables or using the Theme Studio application.
Easily get started with the JavaScript Context Menu using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript Context Menu Example that shows you how to render and configure a Context Menu in JavaScript.
<div class="control-section">
<div class="content-wrapper">
<!--target element-->
<div id="target">Right click / Touch hold to open the ContextMenu</div>
<!--element which is going to render-->
<ul id="contextmenu"></ul>
</div>
</div>
import { ContextMenu, MenuItemModel, ContextMenuModel } from '@syncfusion/ej2-navigations';
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
let menuItems: MenuItemModel[] = [
{
text: 'Cut'
},
{
text: 'Copy'
},
{
text: 'Paste'
}];
let menuOptions: ContextMenuModel = {
target: '#target',
items: menuItems
};
// Initialize ContextMenu component.
let menuObj: ContextMenu = new ContextMenu(menuOptions, '#contextmenu')
The Syncfusion JavaScript Context Menu supports the following features:
You can find our JavaScript Context Menu demo here.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.