Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 2.38 KB

README.md

File metadata and controls

65 lines (44 loc) · 2.38 KB

jQuery contextMenu plugin & polyfill

##Reasons for this fork:

  1. The official release of $.contextMenu is missing a test to check for native support of contextmenu in the browser.

  2. The Firefox nightlies implement contextmenu using the 'menuitem' tags for menu-structure. The specs however state that 'command' tags should be used for this purpose. Whilst the contextMenu plugin handles correct support for 'command' items, it doesn't for 'menuitem'. My fork handles this.

contextmenu specs

##Original summary

$.contextMenu is a management facility for - you guessed it - context menus. It was designed for an application where there are hundreds of elements that may show a context menu - so intialization speed and memory usage are kept fairly small. It also allows to register context menus without providing actual markup, as $.contextMenu generates DOMElements as needed.

features - demo - documentation

Dependencies

  • jQuery 1.6 (not tested with older versions)
  • jQuery UI position (optional but recommended)

Usage

register contextMenu from javascript:


$.contextMenu({
    // define which elements trigger this menu
    selector: ".with-cool-menu",
    // define the elements of the menu
    items: {
        foo: {name: "Foo", callback: function(key, opt){ alert("Foo!"); }},
        bar: {name: "Bar", callback: function(key, opt){ alert("Bar!") }}
    }
    // there's more, have a look at the demos and docs…
});

import contextMenu from HTML5 <menu>:


$.contextMenu("html5");

Minify

use Google Closure Compiler:


// ==ClosureCompiler==
// @compilation_level SIMPLE_OPTIMIZATIONS
// @output_file_name contextMenu.js
// @code_url http://medialize.github.com/jQuery-contextMenu/jquery-1.6.1.min.js
// @code_url http://medialize.github.com/jQuery-contextMenu/jquery.ui.position.js
// @code_url http://medialize.github.com/jQuery-contextMenu/jquery.contextMenu.js
// ==/ClosureCompiler==    

License

$.contextMenu is published under the MIT license.