【问题标题】:Hide div when clicking on link inside div with jQuery使用jQuery单击div内的链接时隐藏div
【发布时间】:2020-02-16 06:40:55
【问题描述】:

在我的网站上,我有一个移动菜单。当我单击菜单中的链接时,菜单不会消失。 通过阅读其他帖子,我非常清楚我必须做什么。但我没有让代码工作,因为我对 javascript 完全陌生,可能只是做错了什么。

点击链接时我想隐藏的 div(在同一个 div 中)是用 mobilemenuitems 类定义的

正如我已经提到的,链接在这个 div 中。

很遗憾,我无法在链接中添加类或 ID,因为我只有前端访问权限。

网站在这里。 https://test.vereinonline.org/HTC_Uhlenhorst/?module=*网球 请注意菜单按钮只出现在移动设备上(宽度

在这个 jsfiddle 中,问题被缩小到根。 http://jsfiddle.net/TheBB23/d6s3Ln50/3/

我很确定问题出在 javascript 上:

document.getElementById(mobilemenuitems a).addEventListener('click', function(e) {
  document.getElementById('mobilemenuitems').remove();
});

【问题讨论】:

  • 请发布您遇到问题的代码。

标签: javascript html css select onclick


【解决方案1】:

我相信当您单击其中的任何链接时,您正试图隐藏带有 mobilemenuspace 类的 div。为此,您可以使用以下命令 -

$('a').click(function(e){
    e.preventDefault();
    if ($(this).parents('.mobilemenuspace').length) {
        $('.mobilemenuspace').hide();
    }
});

工作样本 - https://jsfiddle.net/zv18xuhL/

从您的 Fiddle 分叉的纯 JS 解决方案 -

http://jsfiddle.net/e69snqjk/

【讨论】:

  • 是的,它起作用了,菜单消失了,但链接现在没有打开。现在出现了另一个我没有想到的问题:菜单隐藏,但动画的菜单按钮看起来仍然像菜单打开一样。点击里面的链接,是否可以触发旋转菜单按钮并显示菜单的功能?
  • 您需要删除 event.preventDefault() 以使链接正常工作。要触发菜单按钮功能,只需触发其click 事件。假设按钮的 id 是 menuroot 你只需要做一个 $('#menuroot').click();
猜你喜欢
  • 2013-01-18
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-29
  • 2014-09-08
  • 1970-01-01
相关资源
最近更新 更多