# Context Menu Links: [Home](../index.md) An absolutely positioned menu built from an array of options -- text, icon, an action (function or URL), nested sub-lists, a custom render hook, style classes and a draggable "headbar" item -- shown at the mouse position (or anywhere) and hidden on the next `mouseup` outside it. Written by SGApps.IO. ## Loading the Module ```js Application.require("elements/context-menu").then(function (ContextMenu) { var menu = ContextMenu(); // one menu instance, reusable element.addEventListener('contextmenu', function (ev) { ev.preventDefault(); menu.load(options, { file: 'report.docx' }); // options + a context object menu.show('mouse-viewport'); // at the mouse, kept inside the viewport }); }); ``` **Dependencies:** `uri-load`, `extensions/prototype` (`fn.mouse.position()`, `fn.window.sizeActive()`, the `_()` DOM chain). The module links `elements/context-menu/style.css` when it loads (z-index, item padding, icon placement, the headbar and move cursors). The menu's list layout -- nested `