diff --git a/README.md b/README.md index 0708e27..cb5292c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ menu-aim is a jQuery plugin for dropdown menus that can differentiate between a user trying hover over a dropdown item vs trying to navigate into a submenu's contents. -[Try a demo.](http://htmlpreview.github.com/?https://github.com/kamens/jQuery-menu-aim/blob/master/example/example.html) +[Try a demo.](https://rawgithub.com/kamens/jQuery-menu-aim/master/example/example.html) ![Amazon screenshot](https://raw.github.com/kamens/jQuery-menu-aim/master/amazon.png) @@ -72,7 +72,7 @@ dropdown item *and* when that item is being intentionally hovered over. ## Want an example to learn from? -Check out example/example.html -- it has [a working dropdown for you to play with](http://htmlpreview.github.com/?https://github.com/kamens/jQuery-menu-aim/blob/master/example/example.html): +Check out example/example.html -- it has [a working dropdown for you to play with](https://rawgithub.com/kamens/jQuery-menu-aim/master/example/example.html): ![Example screenshot](https://raw.github.com/kamens/jQuery-menu-aim/master/example.png)
_Play with the above example full of fun monkey pictures by opening example/example.html after downloading the repo._ @@ -81,4 +81,5 @@ _Play with the above example full of fun monkey pictures by opening example/exam 1. What's the license? [MIT](http://en.wikipedia.org/wiki/MIT_License). 2. Does it support horizontal menus or submenus that open to the left? Yup. Check out the submenuDirection option above. -3. I'm not nearly bored enough. Got anything else? [Read about this plugin's creation](http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown). +3. I work at a big company that requires a version number on this third party code before I can use it. Do you have a version number? Sure, current version: 1.1 +4. I'm not nearly bored enough. Got anything else? [Read about this plugin's creation](http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown). diff --git a/example/example.html b/example/example.html index b9938c1..c81ede4 100644 --- a/example/example.html +++ b/example/example.html @@ -192,9 +192,9 @@

jQuery-menu-aim example

- - - + + + var $menu = $(".dropdown-menu"); @@ -240,6 +240,14 @@

jQuery-menu-aim example

$row.find("a").removeClass("maintainHover"); } + // Bootstrap's dropdown menus immediately close on document click. + // Don't let this event close the menu if a submenu is being clicked. + // This event propagation control doesn't belong in the menu-aim plugin + // itself because the plugin is agnostic to bootstrap. + $(".dropdown-menu li").click(function(e) { + e.stopPropagation(); + }); + $(document).click(function() { // Simply hide the submenu on any click. Again, this is just a hacked // together menu/submenu structure to show the use of jQuery-menu-aim. diff --git a/jquery.menu-aim.js b/jquery.menu-aim.js index b06f888..0c32941 100644 --- a/jquery.menu-aim.js +++ b/jquery.menu-aim.js @@ -147,6 +147,13 @@ options.exit(this); }; + /* + * Immediately activate a row if the user clicks on it. + */ + var clickRow = function() { + activate(this); + }; + /** * Activate a menu row. */ @@ -306,7 +313,9 @@ .mouseleave(mouseleaveMenu) .find(options.rowSelector) .mouseenter(mouseenterRow) - .mouseleave(mouseleaveRow); + .mouseleave(mouseleaveRow) + .click(clickRow); + $(document).mousemove(mousemoveDocument); };