Вторая функция остановки меню от срабатывания на другой элемент, используя ту же функцию - PullRequest
0 голосов
/ 21 сентября 2010

У меня есть 3 меню, которые используют этот переключатель, и когда я переключаюсь между меню, требуется второй щелчок, чтобы меню снова щелкнуло. Как сделать остановку второй функции, если отображается другое меню?

  $(".dd").toggle(function() {
      $("ul a", this).click(function(e) {
         e.stopPropagation();
      });
      $(".contextMenu").hide();
      $("ul", this).show();     
    }, 
    function() {
      $("ul", this).hide();
    }
  );

Ответы [ 2 ]

0 голосов
/ 21 сентября 2010

Я думаю, что вместо .toggle() вы хотите просто .click() здесь, вот так:

$(".dd ul a", this).click(function(e) {
  e.stopPropagation();
});
$(".dd").click(function() {  
  $(".contextMenu").hide();
  $(this).find("ul").toggle();
  //possibly to hide others: $(".dd").not(this).find("ul").hide();
});
0 голосов
/ 21 сентября 2010

Я заставил это работать так, как я хотел. Благодаря этой теме jQuery Toggle State

  $(".dd").click(function() {
    $("ul", ".dd").not(this).hide();
    $("ul", this).toggle();
  });
  $(".wrapper").click(function() {
    $("ul", ".dd").hide();
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...