错误,无法在下拉菜单中打开链接

时间:2018-08-16 02:49:43

标签: jquery

我在单击下拉菜单中的链接时遇到问题

通过单击链接logout.php,下拉菜单将关闭,但不会打开链接

我无法注销,因为下拉菜单不允许我跟踪链接,如何解决此问题?

我的代码jQuery下拉菜单:

$(document).ready(function() {
  $('.navigation li a').click(function() {
    var parent = $(this).parent().attr('id');
    if ($('#'+parent+' .Idropdown-menu').is (':hidden')) {
      $('.Idropdown-menu').hide();
      $('#'+parent+' .Idropdown-menu').show();
    } else {
      $('.Idropdown-menu').hide();
    }
    return false;
  });

  $(document).on('click', function (e) {
    if ($(e.target).closest(".Idropdown-menu").length === 0) {
      $(".Idropdown-menu").hide();
    }
  });
});

Code execution https://jsfiddle.net/j30vd27o/1/

1 个答案:

答案 0 :(得分:1)

问题是您要覆盖点击响应,然后在每次点击时返回false。这会阻止您的代码正确跟随链接。您可能可以这样重写它:

  $('.navigation li a').click(function() {
    var parent = $(this).parent().attr('id');
    if ($('#'+parent+' .Idropdown-menu').is (':hidden')) {
      $('.Idropdown-menu').hide();
      $('#'+parent+' .Idropdown-menu').show();
    return false;
    } else {
      $('.Idropdown-menu').hide();
      console.log("hiding")
    return true;
    }
  });

您的下拉列表中是否还会包含指向其他页面的href链接?如果是这样,您也许可以一起使用else语句。