在.toggle中处理多个上下文菜单

时间:2010-09-20 18:47:19

标签: javascript jquery contextmenu

我正在进一步完成所有工作,但是当我尝试添加一些隐藏其他代码的代码时,单击其中一个代码需要再次隐藏。我如何一次只显示一个菜单? PS这些不是兄弟菜单。

$(function() {
  $("a[rel=tooltip]").tooltip({ position:"bottom" });
  $(".dd").toggle(function() {
      $("ul", this).show();
      $(this).addClass("on");
      $("ul a", this).click(function(e) {
         e.stopPropagation();
      });
      if $(".button1").click() {
        $("#contextMenu2, #contextMenu3").hide();
      };
      if $(".button2").click() {
        $("#contextMenu1, #contextMenu3").hide();
      };
      if $(".button3").click() {
        $("#contextMenu1, #contextMenu2").hide();
      };
    }, 
    function() { $("ul", this).hide(); $(this).removeClass('on'); }
  );
});

1 个答案:

答案 0 :(得分:0)

我按照我想要的方式工作。感谢这个帖子jQuery Toggle State

  $(".dd").click(function() {
    $("ul", ".dd").not(this).hide();
    $("ul", this).toggle();
  });
  $(".wrapper").click(function() {
    $("ul", ".dd").hide();
  });