]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/menu.js
Merge branch 'master' into notes
[rails.git] / app / assets / javascripts / menu.js
index 5e2d9d97a59f10703917097ccbbaa43adabd6984..a01fc39cc68bbfe86f85f79a0e786a4c8f77481c 100644 (file)
@@ -23,25 +23,27 @@ function openMenu(anchor, menu, align) {
  * Setup a menu, triggered by hovering over an anchor for a given time.
  */
 function createMenu(anchorid, menuid, align) {
-  var $anchor = $("#" + anchorid),
-      $arrow = $("#" + anchorid + ' .arrow'),
-      $menu = $("#" + menuid),
-      $page = $(':not(#' + menuid + ', #' + anchorid + ')');
+  var $anchor = $("#" + anchorid);
+  var $arrow = $("#" + anchorid + " .menuicon");
+  var $menu = $("#" + menuid);
+  var $page = $(":not(#" + menuid + ", #" + anchorid + ")");
 
   function hide() {
     $menu.hide();
-    $page.unbind('click', hide);
+    $page.off("click", hide);
   }
 
   $arrow.click(function(e) {
+    if ($anchor.is(":not(.disabled)")) {
       e.stopPropagation();
       e.preventDefault();
-      if ($menu.is(':visible')) {
-          $menu.hide();
-          $page.unbind('click', hide);
+      if ($menu.is(":visible")) {
+        $menu.hide();
+        $page.off("click", hide);
       } else {
-          openMenu($anchor, $menu.show(), 'left');
-          $page.bind('click', hide);
+        openMenu($anchor, $menu.show(), align);
+        $page.on("click", hide);
       }
+    }
   });
 }